以下为我效劳:
>sleep 20 &
[1] 30414
>sleep 30 &
[2] 30415
>wait $30414 $30415
这一切都可行,直到我想把它写入tmp.csh
在我的tem.csh文件中
sleep 20 &
set pid1=$!
sleep 30 &
set pid2=$!
谈到“等待”
wait $pid1 $pid2 => too many arguments
wait $pid1 => too many arguments
wait \$$pid1 => too many arguments
wait $($pid1) => Illegal variable name
我该怎么写呢?
这个问题是为了解决问题 How can I wait until specified "xterm" finished?
答案 0 :(得分:1)
“wait”命令不会等待特定的PID。在CSH中尝试以下操作以等待特定的PID:
#!/bin/csh -f
sleep 30 &
set pid1 = $!
sleep 40 &
set pid2 = $!
while ( `ps -p "$pid1,$pid2" | wc -l` > 1 )
sleep 1
end
答案 1 :(得分:1)
这在tcsh中适用于我:
#!/bin/tcsh
time
sleep 10 &
sleep 5 &
wait
time
看起来等待并没有采取任何争论,只需等待每个后退过程完成。