'ps' 명령이 프롬프트를 반환하지 않습니다.

'ps' 명령이 프롬프트를 반환하지 않습니다.

정기적인 유지 관리가 필요한 비지박스/리눅스 박스가 있습니다. 이를 위해 ps프로그래밍 방식으로 명령을 실행하고 실행 중인 프로세스를 확인합니다.

하지만 스크린샷에 표시된 것처럼 ps명령이 종료되지 않고 프롬프트로 돌아가는 경우도 있고 그대로 남아 있어 응용 프로그램을 계속할 수 없는 경우도 있습니다.

또한 이전 ps명령이 계속 실행되고 있는 반면 현재 명령(예: 스크린샷에 표시된 출력)도 중단된 것이 분명합니다.

문제가 무엇인지, 해결 방법을 아는 사람이 있나요?

ps 명령이 중단됩니다.

답변1

D네 번째 열은 프로세스가 현재 시스템 호출을 수행 중임을 나타냅니다. 이 시스템 상태는 일반적으로 짧은 시간 동안 지속되므로 관찰하기 어렵습니다. 관찰 결과는 D느린 I/O(예: 네트워크 파일 시스템)( ps수행하지 않음) 또는 커널이나 하드웨어 문제를 나타내는 경우가 많습니다.

커널 버그를 발견했거나 하드웨어의 일부가 제대로 작동하지 않습니다. 자세한 내용을 알아보려면 첫 번째 단계는 로그 파일을 찾는 것입니다. 시스템이 실행 중입니다바쁜 상자그리고 스크린샷에는 syslogd인수 없이 실행되는 것이 표시되므로 모든 시스템 로그에 /var/log/messages문제가 발생했다는 표시가 포함되어 있을 가능성이 높습니다. 로그를 해석하는 데 도움이 필요하면 질문에 편집하십시오(또는 로그가 너무 큰 경우 온라인 어딘가에 올려두십시오).

답변2

몇 가지 제안이 있습니다. 왜 이런 일이 발생하는지 걱정하지 말고 문제없이 ps를 실행하는 방법을 고려하십시오.

다음은 Linux/Unix 경험 수준에 따라 쉽게 시도할 수 있는 몇 가지 제안 사항입니다.

  1. 실행해 보세요 ps auxwwf > myprocesses && cat myprocesses. 그러면 실행 중인 모든 프로세스의 세부 정보 목록이 제공되며 첫 번째 명령이 성공하면 myprocesses의 내용을 읽을 수 있습니다.

  2. 단독으로 사용 하지 마십시오 ps. 다양한 변형이 있지만 개인적으로 가장 마음에 드는 것은 이것입니다 auxwwf. 또 다른 좋은 점은 ps lax.

  3. 다음을 수행하여 프로세스를 백그라운드로 보내 보십시오. 그런 다음 ps 프로세스의 PID를 ps auxwwf & 입력하고 볼 수 있습니다 . jobs그런 다음 를 입력하여 불러올 수 있습니다 fg. ps 명령을 다시 백그라운드로 보내려면 를 누르십시오 Ctrlz. 이렇게 하면 귀하가 통제할 수 있습니다 ps. 정지되면 다른 터미널 세션을 열고 이와 관련된 PID를 종료할 수 있습니다.

이것이 당신에게 효과가 있는지 알려주세요. 이는 해결하려고 노력할 수 있는 문제 중 일부일 뿐입니다. 누군가 다른 방법을 찾을 것이라고 확신합니다.

답변3

오늘도 같은 문제를 보았습니다. 문제는 지연이 없다는 것입니다. 인정이 통과되었습니다평평한주문하다.

64 bytes from 172.16.60.143: icmp_seq=1 ttl=64 time=300 ms
64 bytes from 172.16.60.143: icmp_seq=2 ttl=64 time=293 ms
64 bytes from 172.16.60.143: icmp_seq=3 ttl=64 time=258 ms
64 bytes from 172.16.60.143: icmp_seq=4 ttl=64 time=268 ms
64 bytes from 172.16.60.143: icmp_seq=5 ttl=64 time=250 ms
64 bytes from 172.16.60.143: icmp_seq=6 ttl=64 time=282 ms
64 bytes from 172.16.60.143: icmp_seq=7 ttl=64 time=233 ms
64 bytes from 172.16.60.143: icmp_seq=8 ttl=64 time=259 ms
64 bytes from 172.16.60.143: icmp_seq=9 ttl=64 time=288 ms
64 bytes from 172.16.60.143: icmp_seq=10 ttl=64 time=240 ms

참고: VPN을 통해 서버에 연결하는 경우. 이 문제를 해결하려면 다른 ISP에 로그인해 보세요.

관련 정보