장기 실행 프로그램을 실행하고 프로그램 프로세스 ID를 별도의 파일에 저장하는 Bash 스크립트를 작성하려면 어떻게해야합니까?
나는 같은 것을 원한다
#!/bin/bash
exec long_running_tool
echo `ps af |grep "long_running_tool" |awk '$5 == "long_running_tool" {print $1}'` > pid_file
그러나 정확하게 이렇게하면 ps애프터 툴 이 완료된 후에 실행 됩니다.
프로세스의 프로세스 ID를 얻는 방법이 있습니까?
@ e-t172 지적 해 주셔서 감사합니다. 그런 다음 'exec'를 삭제하십시오.
—
DerMike
프로세스 관리를 참조하십시오 .
—
추후 공지가있을 때까지 일시 중지되었습니다.
long_running_tool. 결과적으로 exec는 절대 리턴되지 않으며 다음 행에 도달하지 않습니다. 참조help exec,execve(2).