LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1657|回复: 12

怎么禁止bash显示后台进程退出,如何终止后台函数?

[复制链接]
发表于 2007-5-23 22:18:02 | 显示全部楼层 |阅读模式
1。用&执行的进程,kill 后 bash 会显示一条 terminated 信息,如何禁止?
2。bash 脚本中调用 function 并在后台运行,脚本中如何终止该 function?
发表于 2007-5-23 22:39:35 | 显示全部楼层
1. 似乎不行。
2. 不能。除非是你终止脚本。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-23 22:47:10 | 显示全部楼层
那就比较麻烦了,脚本的输出会带有不用的信息。
回复 支持 反对

使用道具 举报

发表于 2007-5-26 13:22:16 | 显示全部楼层
$fg job

调到前台,再kill掉。
回复 支持 反对

使用道具 举报

发表于 2007-5-26 14:34:37 | 显示全部楼层
每个后台程序的pid都会被保存到$!中(注意即时保存这个变量值)
kill掉即可
  1. [0 No.1604 huan@huan ~]$ sleep 5 &
  2. [1] 18666
  3. [0 No.1605 huan@huan ~]$ echo $!
  4. 18666
  5. [0 No.1606 huan@huan ~]$
复制代码
回复 支持 反对

使用道具 举报

发表于 2007-5-27 01:31:23 | 显示全部楼层
用得着禁止吗呵呵
结束脚本
回复 支持 反对

使用道具 举报

发表于 2007-5-27 09:40:46 | 显示全部楼层
5楼回复的是第二个问题
第一个问题,能不能这样解决
  1. #常规的后台程序,有信息输出
  2. [0 No.1487 huan@huan ~]$ sleep 5 &
  3. [1] 6037
  4. [0 No.1488 huan@huan ~]$ [1]+  Done                    sleep 5
  5. # 在sub-shell中,就看不到了
  6. [0 No.1488 huan@huan ~]$ ( sleep 5 & )
  7. [0 No.1489 huan@huan ~]$ bash -c "sleep 5&"
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-27 09:45:52 | 显示全部楼层
Post by huan
每个后台程序的pid都会被保存到$!中(注意即时保存这个变量值)
kill掉即可
  1. [0 No.1604 huan@huan ~]$ sleep 5 &
  2. [1] 18666
  3. [0 No.1605 huan@huan ~]$ echo $!
  4. 18666
  5. [0 No.1606 huan@huan ~]$
复制代码
谢谢!第二个问题解决了。
Post by BEINGJESSE
用得着禁止吗呵呵
结束脚本

不想终止脚本,只是想终止脚本里面的后台进程:)
Post by huan
5楼回复的是第二个问题
第一个问题,能不能这样解决
  1. #常规的后台程序,有信息输出
  2. [0 No.1487 huan@huan ~]$ sleep 5 &
  3. [1] 6037
  4. [0 No.1488 huan@huan ~]$ [1]+  Done                    sleep 5
  5. # 在sub-shell中,就看不到了
  6. [0 No.1488 huan@huan ~]$ ( sleep 5 & )
  7. [0 No.1489 huan@huan ~]$ bash -c "sleep 5&"
复制代码
取不到进程号,非常感谢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-27 10:09:49 | 显示全部楼层
Post by huan
5楼回复的是第二个问题
第一个问题,能不能这样解决
  1. #常规的后台程序,有信息输出
  2. [0 No.1487 huan@huan ~]$ sleep 5 &
  3. [1] 6037
  4. [0 No.1488 huan@huan ~]$ [1]+  Done                    sleep 5
  5. # 在sub-shell中,就看不到了
  6. [0 No.1488 huan@huan ~]$ ( sleep 5 & )
  7. [0 No.1489 huan@huan ~]$ bash -c "sleep 5&"
复制代码

还不行,用 ( sleep 5 & ),好像取不到进程号?
回复 支持 反对

使用道具 举报

发表于 2007-5-27 10:22:58 | 显示全部楼层
哈,我把2题分开了。。。
好像有些难度
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表