当前位置: 技术问答>linux和unix
BASH中如何判断程序是否执行完毕
来源: 互联网 发布时间:2016-07-23
本文导语: 大家好 我目前在编写一个BASH的脚本,要实现下列的功能: 1. 运行a.exe(fortran编译而成) 2. 判断a.exe是否运行完毕 3. 查看a.exe生成的文件是否正常 4. 根据上述判断再执行下面的步骤 第2步判断一个.exe程序是否运行...
大家好
我目前在编写一个BASH的脚本,要实现下列的功能:
1. 运行a.exe(fortran编译而成)
2. 判断a.exe是否运行完毕
3. 查看a.exe生成的文件是否正常
4. 根据上述判断再执行下面的步骤
第2步判断一个.exe程序是否运行完毕,应该用什么方法呢,求教
我目前在编写一个BASH的脚本,要实现下列的功能:
1. 运行a.exe(fortran编译而成)
2. 判断a.exe是否运行完毕
3. 查看a.exe生成的文件是否正常
4. 根据上述判断再执行下面的步骤
第2步判断一个.exe程序是否运行完毕,应该用什么方法呢,求教
|
这个a.exe,当它没执行完的时候,你的脚本是不会往下继续执行的
|
看看进程里有a.exe 吗 没有了说明运行完了
|
可以用ps来查看进程啊!
ps -ef|grep a.exe,如果a.exe运行完了的话,这个命令就没有结果。你可以这样写
while true
do
{
if ! ps -ef|grep a.exe > /dev/null 2>$1
then
echo "a.exe has exited!"
break
fi
}
done
ps -ef|grep a.exe,如果a.exe运行完了的话,这个命令就没有结果。你可以这样写
while true
do
{
if ! ps -ef|grep a.exe > /dev/null 2>$1
then
echo "a.exe has exited!"
break
fi
}
done
|
哦,这里写错了
if ! ps -ef|grep a.exe > /dev/null 2>&1
if ! ps -ef|grep a.exe > /dev/null 2>&1
|
是的,你不是要运行完了去检查生成的文件么?只要a.exe运行完了,接下来的都可以执行了!
|
在a.exe下面加一句打印, a.exe没有执行完是不会往下走的
|
这个正解