2012-07-10 60 views

回答

5

Use $!:

ls >log 2>&1 & 
echo ls: pid=$! 
+0

謝謝!這很酷。 – 2012-07-10 08:49:40

2

除非你想落榜人數,這樣做最簡單的方法是使用$!,它會給你最近的後臺作業的PID。例如:

$ sleep 30 & bg_pid=$!; echo $bg_pid 
[2] 10100 
10100 

如果你真的想要得到這份工作數從存儲的PID回,或許運用Bash的作業控制,而不是與發送信號的過程中,你可以這樣做:

jobs -l | fgrep $! | perl -ne 'print "$1\n" if /\[(\d+)\]/'