如何让一个进程在服务器端持续运行?

sh/bash/dash/ksh/zsh等Shell脚本
回复
lovincodes
帖子: 74
注册时间: 2005-10-28 3:19

如何让一个进程在服务器端持续运行?

#1

帖子 lovincodes » 2009-04-29 12:41

我现在用putty连到服务器上,但是当putty会话窗口关闭,或者本次会话超时时,运行的命令就会失效。运行的命令如下:
./agent.sh &
nohup ./agent.sh &
两种方式,都进行过尝试,但都会自动失效,请问有什么方法可以让这个命令在服务器上持续运行,不会因为会话的结束而中断。
有名无名,随遇而安!
头像
greco
帖子: 2487
注册时间: 2007-04-06 10:24
来自: ~/Shanghai

Re: 如何让一个进程在服务器端持续运行?

#2

帖子 greco » 2009-04-29 12:57

nohup 不行?
http://silenceisdefeat.com/~greco

代码: 全选

''.join([chr(ord(c)-2) for c in 'O{"G/ockn"ku<"itgeq0ujkBiockn0eqo'])
echo -n "Z3JlY28uc2hpQGdtYWlsLmNvbQ==" | base64 -d
lovincodes
帖子: 74
注册时间: 2005-10-28 3:19

Re: 如何让一个进程在服务器端持续运行?

#3

帖子 lovincodes » 2009-04-29 14:02

greco 写了:nohup 不行?
恩,也会随着窗口的关闭导致运行命令的失效。
有名无名,随遇而安!
poet
帖子: 2841
注册时间: 2006-09-11 22:47

Re: 如何让一个进程在服务器端持续运行?

#4

帖子 poet » 2009-04-29 14:06

最可靠的办法:

screen
./agent.sh

然后按 Ctrl-A d
(先按Ctrl-A,然后释放,然后按 d 键。)

如此这般,你就解脱了,这个进程一直运行。

以后想看这个运行的进程怎么办呢?

screen -R
就可以了,又进去看到这个程序了。想退出怎么办?Ctrl-A d

注意哦,这种方式运行程序请不要加 & 符号。
lovincodes
帖子: 74
注册时间: 2005-10-28 3:19

Re: 如何让一个进程在服务器端持续运行?

#5

帖子 lovincodes » 2009-04-29 16:16

嘿嘿,试一下,哎,痛苦死我了,十分感谢。
有名无名,随遇而安!
lovincodes
帖子: 74
注册时间: 2005-10-28 3:19

Re: 如何让一个进程在服务器端持续运行?

#6

帖子 lovincodes » 2009-04-29 21:38

poet 写了:最可靠的办法:

screen
./agent.sh

然后按 Ctrl-A d
(先按Ctrl-A,然后释放,然后按 d 键。)

如此这般,你就解脱了,这个进程一直运行。

以后想看这个运行的进程怎么办呢?

screen -R
就可以了,又进去看到这个程序了。想退出怎么办?Ctrl-A d

注意哦,这种方式运行程序请不要加 & 符号。
今天进行了尝试,没有screen这个命令
服务器为hp-ux的。
终端是用putty连接的,或者是xmanager连接图形化界面。
哎,真是快崩溃了
有名无名,随遇而安!
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: 如何让一个进程在服务器端持续运行?

#7

帖子 aerofox » 2009-04-29 22:50

试试

代码: 全选

(./agent.sh &)

代码: 全选

./agent.sh & disown
lovincodes
帖子: 74
注册时间: 2005-10-28 3:19

Re: 如何让一个进程在服务器端持续运行?

#8

帖子 lovincodes » 2009-04-30 8:49

aerofox 写了:试试

代码: 全选

(./agent.sh &)

代码: 全选

./agent.sh & disown
./agent.sh & disown 提示disown没有这个命令。~~~~(>_<)~~~~ 。
有名无名,随遇而安!
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: 如何让一个进程在服务器端持续运行?

#9

帖子 aerofox » 2009-04-30 23:05

服务器上用的什么 Shell?我说的第一个方法试过吗?
回复