1.
启动一个进程:./remove_log.sh(假如其进程号为2112)
由于其运行时间太长, 我想在不停止该进程的情况下, 让他变成后台运行的,不知道能不能实现?
我想得到的是如我用如下命令启动程序一样的情况: nohup ./remove_log.sh &

2.
人人都说如果只使用& 去启动程序,如: ./remove_log.sh & ,那么代表是在后台运行的,如果此时终端关闭,那么该进程也随之消失。
但是为什么我在关闭了终端后,该进行不消失呢?即使我退出用户后再登录,我还是发现那个进程是存在的。搞不明白这个问题!
我用的环境是:
bash-3.00$ uname -X
System = SunOS
Node = eao1sh20176
Release = 5.10
KernelID = Generic_118833-24
Machine = sun4u
BusType = <unknown>
Serial = <unknown>
Users = <unknown>
OEM# = 0
Origin# = 1
NumCPU = 1

我是用的XManager远程登录到unix上的,不知道这个是不是有影响?

请高手帮忙! 谢谢!

 

 

1/ ctrl + z 先暂停程序,然后用jobs获得已经暂停的任务号,用bg 任务号放到后台执行

2/ 某些程序需要解除和控制终端的关联,在关闭终端的时候变为daemon进程

disown %1

不过在linux下如果使用bash,后台执行的程序好像自动变为daemon进程了

发表评论

邮箱地址不会被公开。 必填项已用*标注