Jak napisać skrypt Bash, który uruchamia długo działający program i przechowuje identyfikator procesu programu w osobnym pliku?
Chcę coś takiego
#!/bin/bash
exec long_running_tool
echo `ps af |grep "long_running_tool" |awk '$5 == "long_running_tool" {print $1}'` > pid_file
Jednak wykonanie tego dokładnie spowoduje wykonanie narzędziaps
po zakończeniu.
Czy istnieje sposób na uzyskanie identyfikatora procesu utworzonego?
long_running_tool
proces. W związku z tym exec nigdy nie powraca i nigdy nie zostaje osiągnięty następujący wiersz. Zobaczhelp exec
,execve(2)
.