netstat는 프로세스 이름을 어디에서 얻습니까?


4

노드 응용 프로그램을 개발 중이며 프로세스 제목 (프로세스 이름)을 설정하는 옵션이 있습니다. 이것은 일부 도구 (ps 및 top과 같은)에서만 설정하지만 htopor 에는 없습니다 netstat.

대부분의 응용 프로그램이 어떻게 작동하는지 설명하는 기사를 찾았 지만 netstat에서는 변경되지 않습니다.

그로 인해 해당 프로그램이 프로세스 이름을 얻는 위치가 궁금합니다. 그들이 그것을 얻을 것 /proc/##/cmdline입니까? (##은 프로세스의 PID입니다)

나는 물건을 엉망으로 /proc만드는 것은 나쁜 생각 (아마도 가능하지 않음)이라고 생각합니다. 이곳에서 프로그램이 얻는 곳이라면 그것을 바꿀 수있는 방법이 있습니까?

답변:


5

/ proc에서 내용을 읽는 데 아무런 문제가 없습니다. 사실, 그것은 이다 그 도구에서 해당 정보를 얻을 곳. 실제로 명령 이름을 가진 3 개의 파일이 있습니다.

/proc/PID/cmdline
/proc/PID/stat
/proc/PID/status

나는 그것이 보통에서 얻는다고 믿는다 stat.


그러나 왜 ps와 top은 프로세스 이름이 변경되었지만 netstat는 그렇지 않습니까?
beatgammit

프로세스는 프로세스 이름을 변경하여 / proc / PID / cmdline을 변경할 수 있지만 통계 항목은 변경되지 않습니다. 따라서 도구가 이름을 얻는 곳에 따라 다릅니다. netstat가 stat 항목을 사용하는 것 같습니다.
Keith

분명히 노드는 stat, status 및 comm의 값을 변경했지만 cmdline은 변경하지 않았습니다. htop 및 netstat와 같은 프로그램이 cmdline에서 읽은 것 같습니다. 어쨌든 정보 주셔서 감사합니다!
beatgammit
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.