I have simple bash script
#!/bin/bash (while true; do true; sleep 3 done) &
How can I assign pid of this loop to variable, to kill process in future ? I try trap, but loop has own pid so I should know pid of loop running in background to kill it for example after SIGTERM.
Advertisement
Answer
The PID of the background-process started can be extracted from this $!
variable.
$ (while true; do > true; > sleep 3 > done) & [1] 26159 $ bgPID=$!; echo "$bgPID" # <---- To store it in a bash variable. 26159 $ kill "$bgPID" [1]+ Terminated ( while true; do true; sleep 3; done )