如何恢复放置到后台并且关闭了对应终端的进程?

为当前最终发行版之前的所有版本提供支持
回复
sffred
帖子: 15
注册时间: 2019-09-30 18:45
系统: windows 10
送出感谢: 1 次
接收感谢: 0

如何恢复放置到后台并且关闭了对应终端的进程?

#1

帖子 sffred » 2019-09-30 18:48

具体地,使用ubuntu系统,按xxx &命令启动后台进程,并关闭终端。开启新的终端,jobs是查不到那个后台任务的,直接ps也看不到那个进程,只有ps -ef可以看到有tty为?的进程,状态仍为R,也能看到pid和ppid,如何重新把它放到前台呢

fg会显示-bash: fg: current: no such job
头像
oneleaf
论坛管理员
帖子: 10374
注册时间: 2005-03-27 0:06
系统: Ubuntu 12.04
送出感谢: 7 次
接收感谢: 116 次

Re: 如何恢复放置到后台并且关闭了对应终端的进程?

#2

帖子 oneleaf » 2019-09-30 23:13

有专门干这个的 screen
头像
astolia
论坛版主
帖子: 4803
注册时间: 2008-09-18 13:11
送出感谢: 1 次
接收感谢: 810 次

Re: 如何恢复放置到后台并且关闭了对应终端的进程?

#3

帖子 astolia » 2019-10-01 1:04

老老实实重新以前台方式运行。除非事先就用screen/tmux之类的程序来跑,否则很麻烦,要用gdb来修改标准输入输出。
如果你对linux系统编程和gdb调试熟悉,可以自行尝试gdb加载进程后,断在合适的位置用

代码: 全选

call close(...)
call open(...)
call dup2(...)
这种方式来修改
这些用户感谢了作者 astolia 于这个帖子:
sffred (2020-01-12 15:35)
评价: 3.7%
回复

回到 “其他版本支持”