我可以在下面的命令中获取ls -al
的进程ID吗?
$ ls -al | echo [I want get process id of left command]
由于
答案 0 :(得分:1)
这可以通过文件
完成{ ls -al & echo $! > pid;} | { echo $(<pid);}
可能存在竞争条件
使用fifo
mkfifo /tmp/fifo
{ sleep 5 & echo $! >/tmp/fifo;} | { pid=$(</tmp/fifo); echo $pid; ps -p $pid;}
rm /tmp/fifo