df.sh라는 쉘 스크립트를 만들었습니다.
#!/bin/sh
while true ; do
df -hT
sleep 30
done &
그런 다음 실행합니다 ./df.sh
(실행 권한을 부여합니다).
실행 후 루프를 종료하고 싶지만 종료할 수 없습니다.
답변1
사용
$ pkill -f df.sh
sleep 30
그러면 스크립트에 종료 신호가 전송되고, 현재 호출이 완료되자마자 스크립트가 종료됩니다.
또는 ps
스크립트의 프로세스 ID를 찾아 종료 신호를 보내는 데 사용합니다.
$ ps
$ kill pid
( pid
나열된 스크립트의 정수 프로세스 ID는 어디에 있습니까 ps
?)
답변2
첫째, 이것이 취약점 스크립트인 경우 &
끝이 아닌 스크립트를 호출할 때 사용하는 것이 좋습니다 while
.
./df.sh &
kill
종료 신호 보내기를 사용하는 것이 좋습니다. 또는 프로세스를 사용하거나 가져온 후에 kill -9
프로세스가 pid
응답하지 않으면 사용할 수 있는 종료 신호를 보냅니다.ps
grep
pgrep
pkill
하지만df.sh
, 조심하세요. 여러 번 실행하면 모든 프로세스가 호출되고, pkill -f
함께 사용 하면 df.sh
패턴과 일치하는 모든 프로세스가 종료됩니다.