서로 다른 시간에 백그라운드 프로세스로 실행되는 여러 명령이 있습니다.
wget -r url1 &
wget -r url2 &
..............
..............
결과는 --- ps -e
라는 2개의 프로세스가 있음을 보여줍니다 .wget
2552 ? 00:00:01 wget
2576 ? 00:00:00 wget
...... .............
...... .............
이제 실행 프로세스를 종료하고 싶습니다 url2
. 어떤 프로세스가 실행되고 있는지 어떻게 알 수 있나요 url
?
답변1
-e
명령에는 옵션 대신 옵션을 사용하십시오 .ps
-f
user1 14298 13518 0 00:11 pts/1 00:00:00 sleep 100
user1 14299 13518 0 00:11 pts/1 00:00:00 sleep 50
이렇게 하면 명령에 전달된 매개변수도 볼 수 있습니다. 귀하의 경우에는 다른 URL입니다.
답변2
대화형 셸 설정에서 이 작업을 수행하는 경우 kill the second background job 을 사용할 수 있습니다 kill %2
.
이 작업이 쉘 스크립트에서 수행되면 PID를 기록하고 신호를 보낼 수 있습니다.
#!/bin/bash
wget http://example.com/bigfile1 &
pid1=$!
wget http://example.com/biggerfile2 &
pid2=$!
# Time passes..
# Impatience intensifies...
kill $pid2
현재 세션의 전체 명령줄(및 환경)을 보려면 를 사용할 수 있습니다 ps ex
.