退出console后如何让程序继续运行

软件和网站开发以及相关技术探讨
回复
nangergong
帖子: 103
注册时间: 2008-09-19 3:26

退出console后如何让程序继续运行

#1

帖子 nangergong » 2009-06-01 3:21

我在console上运行程序
程序运行比较久,但是如果退出console
这个程序也会被终止还是被交由init程序执行? (感觉像是前者,因为如果我用console 输入gedit打开文档,如果关掉console,文档也被关掉了)
如果是后者的话
相当于程序继续运行是吗?


如果是前者的话,那么如何能够退出console后如何让程序继续运行
怎么解决?
头像
roylez
帖子: 1928
注册时间: 2005-10-04 10:59
来自: 上海

Re: 退出console后如何让程序继续运行

#2

帖子 roylez » 2009-06-01 5:31

nohup abc.sh &>/dev/null &
弄个dropbox空间来备份文件或者做私人代码服务器
配置:[url]git://github.com/roylez/dotfiles.git[/url]
主页:http://roylez.heroku.com
各种稀奇玩意儿:http://dooloo.info
nangergong
帖子: 103
注册时间: 2008-09-19 3:26

Re: 退出console后如何让程序继续运行

#3

帖子 nangergong » 2009-06-01 5:48

楼上的能解释一下吗
谢谢
头像
roylez
帖子: 1928
注册时间: 2005-10-04 10:59
来自: 上海

Re: 退出console后如何让程序继续运行

#4

帖子 roylez » 2009-06-01 6:47

nohup你可以自己去man,大意似乎是让进程忽略SIGNHUP信号,记错了勿怪

abc.sh是你要运行的程序

&>/dev/null,所有的输出都写到/dev/null,免得你不能退出shell,你要写到文件也可以

&,后台执行
弄个dropbox空间来备份文件或者做私人代码服务器
配置:[url]git://github.com/roylez/dotfiles.git[/url]
主页:http://roylez.heroku.com
各种稀奇玩意儿:http://dooloo.info
头像
sunny169
帖子: 15
注册时间: 2009-04-05 20:39

Re: 退出console后如何让程序继续运行

#5

帖子 sunny169 » 2009-06-01 9:20

我补充一下:>/dev/null,是输出到/dev/null,/dev/null是“粉碎机”,也就是什么都不输出。
nangergong
帖子: 103
注册时间: 2008-09-19 3:26

Re: 退出console后如何让程序继续运行

#6

帖子 nangergong » 2009-06-01 18:48

nangergong 写了:楼上的能解释一下吗
谢谢
啊,我忘了加 在最后面&了
現在console停在那了
我关掉了console
那么程序还能继续执行吗?
top
了一下
发现貌似还在执行中。。。
sixmo
帖子: 6
注册时间: 2009-06-02 17:51

Re: 退出console后如何让程序继续运行

#7

帖子 sixmo » 2009-06-04 12:12

有这么复杂么`? 空格再加个 & 就好了吧.
头像
highwind
帖子: 1362
注册时间: 2008-09-05 23:31
系统: LinuxMint17

Re: 退出console后如何让程序继续运行

#8

帖子 highwind » 2009-06-04 12:57

谢谢大家又学了一招 :em11
头像
ibear
帖子: 787
注册时间: 2006-10-19 8:43
来自: 长江口

Re: 退出console后如何让程序继续运行

#9

帖子 ibear » 2009-06-04 13:02

或者运行screen
lesxc
帖子: 4
注册时间: 2007-12-20 11:41

Re: 退出console后如何让程序继续运行

#10

帖子 lesxc » 2009-09-07 17:38

《shell编程和unix命令》这本书有电子版的。。里面解释得详细~
回复