htop에서 이름이 없는 프로세스의 원인은 무엇입니까?
이것은 루트 amd64로 htop 1.0.3을 실행하는 완전히 최신 데비안 8.6 시스템입니다. 또한 unix.stackexchange.com은 이미지를 읽을 수 없는 크기로 줄이는 것 같습니다. 이미지 URL을 여는 것이 좋습니다.http://image.prntscr.com/image/5ef407a1f99a4c9692db179a3afb2516.png곧장
답변1
htop은 인수 사이에 공백이 있는 프로세스의 명령줄을 표시합니다. (첫 번째 매개변수인 매개변수 번호 0은 일반적으로 상위 프로세스가 전달한 명령 이름입니다.)
프로세스는 길이가 같거나 더 짧은 문자열로 명령줄 인수를 덮어쓸 수 있습니다. 일부 프로그램은 이 방법을 사용하여 프로그램 상태에 대한 정보를 전달합니다. Screen은 세션을 관리하는 백그라운드 프로세스에서는 첫 번째 인수(명령 이름)를 대문자로 설정하고, 일반적으로 세션에 연결된 터미널에서 실행되는 프런트엔드 프로세스에서는 명령 이름을 소문자로 유지합니다.
명령줄 인수 없이 프로세스를 시작할 수도 있습니다. 이는 매우 특이한 일입니다. 관례적으로 첫 번째 인수는 명령 이름입니다. 하지만 기술적으로는 가능합니다.
이는 표시 오류이거나 캐리지 리턴이 포함된 명령 이름의 영향일 수 있지만 가장 가능성 있는 설명은 프로세스(현재)에 인수가 없다는 것입니다. 커널에 직접 요청하여 이를 확인할 수 있습니다.
cat -A /proc/12727/cmdline; echo
그러면 시각적 표현으로 대체된 제어 문자와 함께 매개변수가 표시됩니다. 별도의 매개변수 ^@
.
탐색을 통해 이 프로세스에서 실행 중인 실행 파일에 대한 심볼릭 링크, 프로세스에서 열린 파일 표시 /proc/12727
등 추가 정보를 찾을 수 있습니다 . 를 사용하여 이 정보를 표시할 수도 있습니다 ./proc/12727/exe
/proc/12727/fd
lsof -p12727
ps l 12727
이 프로세스에 대한 추가 정보, 특히 상위 프로세스 ID(PPID)가 표시됩니다. (설정에서 해당 열을 활성화하여 이 정보를 표시하도록 htop을 구성할 수도 있습니다.)