我在perl中使用系统“xxxxx”来在linux中执行一些命令。 我有一批要执行的命令,所以我需要知道最后一个命令何时完成,我可以发出下一个命令。 我不想使用sleep(**)因为我不知道每个命令执行多长时间。 有没有办法可以监控命令何时完成? 非常感谢。
答案 0 :(得分:-1)
您可以打开命名管道并等待它关闭:
open(PROC, "-|", "/path/to/process") or die "can't open process: $!";
# do something
close(PROC) or die "can't close process: $!";
close
语句将使perl脚本等待进程完成。
答案 1 :(得分:-1)
在perl中,你可以使用$?从命令运行中查看退出状态,然后根据它是否成功执行某些操作。
`run this command`;
if ( $? != 0 ) {
# do something
}