当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 12 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [问题]请问shell如何判断一个进程是自动退出的还是人为终止的?
帖子发表于 : 2008-02-29 23:03 
头像

注册: 2006-07-15 11:20
帖子: 990
地址: 枫叶刀市
送出感谢: 2
接收感谢: 0 次
我在写一个用mplayer连续播放文件的shell,
问题是如何让shell区分
1, mplayer播放到文件结尾自动退出
2, 用户按q或esc退出程序
两种情况(都属于正常退出)?

请各位高手给点建议
thx!


_________________
Thinkpad T400


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-03-03 20:21 
头像

注册: 2006-07-02 11:16
帖子: 12522
地址: 廣州
送出感谢: 0 次
接收感谢: 8
不可以


_________________
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-03-03 21:18 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
mp的输出,定向到你的shell。一直read,判断最后的文字?
试试吧。只是,mp不是支持列表的吗。


_________________
● 鸣学


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-03-06 4:58 

注册: 2008-03-06 4:56
帖子: 82
送出感谢: 0 次
接收感谢: 0 次
加个管道,用别的程序代替mplayer读键盘输入


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-03-06 13:22 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
mplayer /home/exp/媒体/◇事件声音-et/select.wav; echo $?
判断$?都可以的。判断什么键盘哦。


_________________
● 鸣学


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2008-03-06 17:01 

注册: 2007-05-13 15:20
帖子: 333
送出感谢: 0 次
接收感谢: 0 次
shell 中加入

_exit()
{
echo "some one kill me !!!"
exit 1
}
trap "_exit" 2 3 15


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2008-03-07 16:31 
头像

注册: 2006-07-15 11:20
帖子: 990
地址: 枫叶刀市
送出感谢: 2
接收感谢: 0 次
呵呵,按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:学校网速真慢到姥姥家了.... :x


_________________
Thinkpad T400


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2008-03-07 19:57 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
$?的,我试过,也可以的吧。你试试


_________________
● 鸣学


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2008-03-07 20:08 
头像

注册: 2006-07-02 11:16
帖子: 12522
地址: 廣州
送出感谢: 0 次
接收感谢: 8
代码:
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
第三次是 自然播完


_________________
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。


页首
 用户资料  
 
10 楼 
 文章标题 :
帖子发表于 : 2008-03-07 20:13 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
没文件的不对吧。
我理解楼主只是需要ctrl-c和完成2种状态。有其他的要求的,还是判断输出算了。


_________________
● 鸣学


页首
 用户资料  
 
11 楼 
 文章标题 :
帖子发表于 : 2008-03-07 20:15 
头像

注册: 2006-07-02 11:16
帖子: 12522
地址: 廣州
送出感谢: 0 次
接收感谢: 8
eexpress 写道:
没文件的不对吧。
我理解楼主只是需要ctrl-c和完成2种状态。有其他的要求的,还是判断输出算了。


ee根本没看清lz.. 他要的是区别 q 与 eof


_________________
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。


页首
 用户资料  
 
12 楼 
 文章标题 :
帖子发表于 : 2008-03-07 20:19 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
那随便了。我想理解问题,并不局限于标题要求的。

球猫,赶紧出来,说明下今天ping通人了没。


_________________
● 鸣学


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 12 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译