请问LINUX怎么把运行中的程序切换到后台,并且中间不能中止。

sherlock_lai 2009-11-05 03:35:20
程序已经运行,不能+&

程序不能中止,因此也不能按ctrl+z bg的方法。

求教!
...全文
414 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
XyRbj 2009-11-06
  • 打赏
  • 举报
回复
nohup ./program > ./log.log &
这样能行么?
linuxapue 2009-11-06
  • 打赏
  • 举报
回复
ALT+Fn 切换到其它控制台 眼不见为净 和后台运行差不多吧 哈哈
Caballeroo 2009-11-06
  • 打赏
  • 举报
回复
执行中程序,有点难呵呵!
iisbsd 2009-11-06
  • 打赏
  • 举报
回复
你可以SIGSTOP然后SIGCONT,这其实就是Ctrl-Z和bg做的事情。

有的shell能支持一种比较变态做法,你可以直接kill -9掉你的shell进程,然后你的运行的程序会被1号进程接管,不知道这个效果合不合意……
sherlock_lai 2009-11-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 mymtom 的回复:]
引用 3 楼 sherlock_lai 的回复:
我想,肯定有种办法不需要按ctrl+z,就能对它使用bg命令吧?

一定没有, bg作用就是把挂起的作业放到后台继续执行.
If job control is enabled (see the description of set -m), the bg utility resumes suspended jobs from the current environment (see Shell Execution Environment ) by running them as background jobs. If the job specified by job_id is already a running background job, the bg utility has no effect and will exit successfully.

当然如果你自己写个shell, 也可以用把这两步一起做.
[/Quote]

那有没有把运行中程序放到后台运行的? 就是不用bg。
wangqingshui531 2009-11-06
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 iisbsd 的回复:]
你可以SIGSTOP然后SIGCONT,这其实就是Ctrl-Z和bg做的事情。

有的shell能支持一种比较变态做法,你可以直接kill -9掉你的shell进程,然后你的运行的程序会被1号进程接管,不知道这个效果合不合意……
[/Quote]

这个有才
mymtom 2009-11-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 sherlock_lai 的回复:]
我想,肯定有种办法不需要按ctrl+z,就能对它使用bg命令吧?
[/Quote]
一定没有, bg作用就是把挂起的作业放到后台继续执行.
If job control is enabled (see the description of set -m), the bg utility resumes suspended jobs from the current environment (see Shell Execution Environment ) by running them as background jobs. If the job specified by job_id is already a running background job, the bg utility has no effect and will exit successfully.

当然如果你自己写个shell, 也可以用把这两步一起做.
sherlock_lai 2009-11-05
  • 打赏
  • 举报
回复
我想,肯定有种办法不需要按ctrl+z,就能对它使用bg命令吧?
sherlock_lai 2009-11-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 iisbsd 的回复:]
逆向思维一下,为什么不能Ctrl-Z?貌似SIGSTOP是不能被捕获的,所以你的程序不可能处理这个信号,而操作系统会保证SIGCONT的时候事情继续按部就班进行。

或者你是说你没有办法按Ctrl-Z?
[/Quote]
因为我的程序一直在处理外部事件啊,不能停的,如果ctrl+z,它就停下来了。
iisbsd 2009-11-05
  • 打赏
  • 举报
回复
逆向思维一下,为什么不能Ctrl-Z?貌似SIGSTOP是不能被捕获的,所以你的程序不可能处理这个信号,而操作系统会保证SIGCONT的时候事情继续按部就班进行。

或者你是说你没有办法按Ctrl-Z?

23,115

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧