중지된 프로세스를 거부한 후에도 프로세스 테이블에 계속 나타나는 이유를 알고 싶습니다.
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_seq
5가 됩니다). .
편집하다:그 부분을 잊어버렸어요 disown
. 프로세스를 거부했으므로 더 이상 에 표시되지 않습니다 jobs
. 이러한 이유로 fg
이 작업을 수행할 수 없습니다. 그러나 상태 ps
와 함께 출력에는 여전히 존재합니다 T
. 그래서 말씀하신 대로 kill -sigcont <PID>
.부정하지 마세요이는 터미널 전경에서 실행할 수 없음을 의미합니다.