로그 파일을 확인하고 문자열을 검색하는 스크립트가 있는데, 이 스크립트는 백그라운드에서 실행됩니다 &
. 스크립트를 종료 하면 항상 동일한 스크립트에 대한 ps -ef | grep script.sh
프로세스와 프로세스가 여전히 존재하는 것을 볼 수 있습니다 .tail
grep
또 다른 점은 프로세스의 프로세스 ID가 프로세스의 프로세스 ID에서 2를 뺀 값 tail
이라는 것입니다(예: pid 7002, pid 7000, pid 7001).script.sh
script.sh
tail
grep
- 내부 명령이
script.sh
상위 프로세스 pid = 1인 자체 서비스로 시작되는 이유는 무엇입니까? script.sh
생성된 모든 하위 프로세스를 효과적으로 종료하는 방법은 무엇입니까 ?
감사해요.
답변1
해결되었습니다!
문제는 스크립트가 완료된다는 것입니다&
스크립트에서 이를 제거 &
하고 다음과 같은 명령을 실행하면:
nohup sudo script.sh &
tail
프로세스는 grep
기본 script
PID 아래에 있습니다 :)