分页: 1 / 1
[问题]请问shell如何判断一个进程是自动退出的还是人为终止的?
发表于 : 2008-02-29 23:03
由 Nile
我在写一个用mplayer连续播放文件的shell,
问题是如何让shell区分
1, mplayer播放到文件结尾自动退出
2, 用户按q或esc退出程序
两种情况(都属于正常退出)?
请各位高手给点建议
thx!
发表于 : 2008-03-03 20:21
由 BigSnake.NET
不可以
发表于 : 2008-03-03 21:18
由 eexpress
mp的输出,定向到你的shell。一直read,判断最后的文字?
试试吧。只是,mp不是支持列表的吗。
发表于 : 2008-03-06 4:58
由 cosechy
加个管道,用别的程序代替mplayer读键盘输入
发表于 : 2008-03-06 13:22
由 eexpress
mplayer /home/exp/媒体/◇事件声音-et/select.wav; echo $?
判断$?都可以的。判断什么键盘哦。
发表于 : 2008-03-06 17:01
由 chasye
shell 中加入
_exit()
{
echo "some one kill me !!!"
exit 1
}
trap "_exit" 2 3 15
发表于 : 2008-03-07 16:31
由 Nile
呵呵,按ee的思路作好了
eexpress 写了:mp的输出,定向到你的shell。一直read,判断最后的文字?
试试吧。只是,mp不是支持列表的吗。
只是感到mplayer的列表有点不够“智能”:D
播放时
mplayer -fs -quiet -sub-fuzziness 1 "$FileName" | tee /tmp/mpl_tmp
然后mplayer结束后用
if [ "`tail -1 /tmp/mpl_tmp`" = "Exiting... (Quit)" ]
判断就可以了。
PS:学校网速真慢到姥姥家了....
发表于 : 2008-03-07 19:57
由 eexpress
$?的,我试过,也可以的吧。你试试
发表于 : 2008-03-07 20:08
由 BigSnake.NET
代码: 全选
autumncat@autumncat-host:~/qt
$ mplayer -really-quiet foo.mp3
mplayer: could not connect to socket
mplayer: No such file or directory
Exit status: 1
autumncat@autumncat-host:~/qt
$ mplayer -really-quiet foo.mp3
mplayer: could not connect to socket
mplayer: No such file or directory
Exit status: 0
autumncat@autumncat-host:~/qt
$ mplayer -really-quiet foo.mp3
mplayer: could not connect to socket
mplayer: No such file or directory
Exit status: 0
第一次是 pkill
第二次是 q
第三次是 自然播完
发表于 : 2008-03-07 20:13
由 eexpress
没文件的不对吧。
我理解楼主只是需要ctrl-c和完成2种状态。有其他的要求的,还是判断输出算了。
发表于 : 2008-03-07 20:15
由 BigSnake.NET
eexpress 写了:没文件的不对吧。
我理解楼主只是需要ctrl-c和完成2种状态。有其他的要求的,还是判断输出算了。
ee根本没看清lz.. 他要的是区别 q 与 eof
发表于 : 2008-03-07 20:19
由 eexpress
那随便了。我想理解问题,并不局限于标题要求的。
球猫,赶紧出来,说明下今天ping通人了没。