ps를 사용하여 명령의 매개변수가 변경되는 이유는 무엇입니까?

ps를 사용하여 명령의 매개변수가 변경되는 이유는 무엇입니까?

자주 사용하는 애플리케이션을 실행할 때 매개변수를 보면 왜 다르게 보입니까 ps?

$ redshift -l 12.94:43.75 2>/dev/null 1>&2 &
[1] 8637
$ ps -o cmd= -C redshift
redshift -l 12.94 43.75

누락된 콜론에 주목하세요.

답변1

세부 사항은 운영 체제에 따라 다르지만 대부분의 시스템에서는 ps(또는 /proc 파일 시스템)에 의해 보고된 명령줄 매개변수를 변경할 수 있습니다. 예를 들어 일부 시스템에서는 argv를 직접 편집할 수 있습니다.

많은 시스템에는 이를 수행할 수 있는 setproctitle이라는 라이브러리 기능이 제공됩니다. 따라서 시스템에서 setproctitle이 어떻게 작동하는지 이해하려면 setproctitle의 매뉴얼 페이지와 소스 코드를 살펴보는 것이 가장 좋습니다.

관련 정보