중단된 "중지된" 작업 프로세스가 여전히 프로세스 테이블에 나타납니다.

중단된 "중지된" 작업 프로세스가 여전히 프로세스 테이블에 나타납니다.

중지된 프로세스를 거부한 후에도 프로세스 테이블에 계속 나타나는 이유를 알고 싶습니다.

PING www.google.com (74.125.130.106) 56(84) bytes of data.
64 bytes from 74.125.130.106: icmp_seq=1 ttl=44 time=182 ms
64 bytes from 74.125.130.106: icmp_seq=2 ttl=44 time=209 ms
64 bytes from 74.125.130.106: icmp_seq=3 ttl=44 time=213 ms
64 bytes from 74.125.130.106: icmp_seq=4 ttl=44 time=122 ms
^Z
[1]+  Stopped                 ping www.google.com
anshul@anshul-Inspiron-N5010:~/Documents/workspace/shell$ jobs -l
[1]+ 10319 Stopped                 ping www.google.com
anshul@anshul-Inspiron-N5010:~/Documents/workspace/shell$ disown
bash: warning: deleting stopped job 1 with process group 10319
anshul@anshul-Inspiron-N5010:~/Documents/workspace/shell$ ps -ef | grep 10319
anshul   10319  9717  0 23:35 pts/25   00:00:00 ping www.google.com

10319 프로세스가 계속 표시되는 이유는 무엇입니까?

답변1

아니 그 과정이중지됨, 죽지 않았습니다. 그래서 그것은 ps여전히 ​​​​나타날 것입니다.

를 실행하면 ps ax상태가 임을 알 수 있습니다 T. 이 상태에서 프로세스는 SIGCONT를 수신할 때까지 아무 작업도 수행하지 않고 계속 실행됩니다( fg터미널에 입력하면 프로세스가 중지된 위치에서 다시 시작되는 것을 볼 수 있으므로 귀하의 경우 다음 프로세스는 icmp_seq5가 됩니다). .

편집하다:그 부분을 잊어버렸어요 disown. 프로세스를 거부했으므로 더 이상 에 표시되지 않습니다 jobs. 이러한 이유로 fg이 작업을 수행할 수 없습니다. 그러나 상태 ps와 함께 출력에는 여전히 존재합니다 T. 그래서 말씀하신 대로 kill -sigcont <PID>.부정하지 마세요이는 터미널 전경에서 실행할 수 없음을 의미합니다.

관련 정보