Linux使用nohup命令让程序停在后台
发布时间:2012-01-29 18:23:06
今天使用SSH远程部署项目,部署好了之后关掉终端,然后打开网页在操作时发现没有服务,于是再一次登进终端,采用ps -ef|grep bea查看之后,发现没有了刚才的后台进程,操作系统是Redhat 5.5,J2EE服务器是Weblogic.于是网上查了很多资料最终我才用了下面的第一种方法,我个人比较喜欢第二种方法,因为它不用强制kill掉进程。
第一种方法:在startWeblogic.sh目录下,直接执行nohup ./startWebLogic.sh&,命令就可以了。
[weblogic@localhost cmdsys]ps -ef|grep bea
退出的时候执行下面的命令就可以了[weblogic@localhost cmdsys] kill -9 2312 2170 29379 29413以下是原话:“用用户名和密码登陆远程计算机后,需要使用Unix的命令tail -f 文本文件名即可监视远程文件的变动情况,例如要监视Weblogic某一域的日志输出只需要输入命令:tail -f nohup.out,前提是输入命令的位置在该域的根目录下并且启动Weblogic时指定输出日志信息到nohup.out文本文件中,也就是下面说的nohup启动方式。
使用nohup启动Weblogic服务器:nohup ./startWebLogic.sh&,不使用startWebLogic.sh直接启动的原因是如果直接启动Weblogic服务器,那么关掉SSH之后也会导致 WebLogic服务器的关闭,而使用nohup启动会把Weblogic启动到后台并把其产生的日志发送到nohup.out文件,而在SSH中只需要用tail -f nohup.out就可以查看Weblogic输出的日志信息了“第二种方法:使用screen 指令screen 这个指令可以很好的解决跑后台服务的问题。
在终端中敲入如下命令[weblogic@localhost ~]screen,这个时候,服务器端会启一个新的终端并且按ctrl+a+d就把会保存这个会话,但这个终端,与之前的普通终端不一样,它不隶属于 sshd 进程组,这样,当本地终端关闭后,服务器终端不会被 kill.但上面的那个有一个不好之处就是当会话多了很难分清楚,因此我们要用下面一种命令[weblogic@localhost ~]screen -S sessionname按ctrl+a+d保存这个会话这样就可以用下面的命令[weblogic@localhost ~]screen -ls sessionname.tty1.server (Detached)
当你想恢复一个会话的时候你可以采用下面的命令[weblogic@localhost ~]screen -r sessionname然后,退出键入exit就可以退出后台进程了。
附录「注:该附录为复制的,不属于本人」:使用nohup让程序永远后台运行Unix/Linux下一般比如想让某个程序在后台运行,很多都是使用 & 在程序结尾来让程序自动运行。比如我们要运行mysql在后台:/usr/local/mysql/bin/mysqld_safe ——user=mysql &但是加入我们很多程序并不象mysqld一样做成守护进程,可能我们的程序只是普通程序而已,一般这种程序使用 & 结尾,但是如果终端关闭,那么程序也会被关闭。但是为了能够后台运行,那么我们就可以使用nohup这个命令,比如我们有个test.php需要在后台运行,并且希望在后台能够定期运行,那么就使用nohup:nohup /root/test.php &提示:[~]$ appending output to nohup.out嗯,证明运行成功,同时把程序运行的输出信息放到当前目录的 nohup.out 文件中去。
附:nohup命令参考nohup 命令用途:不挂断地运行命令。
语法:nohup Command [ Arg …… ] [ & ]描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。
无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。如果标准错误是一个终端,那么把指定的命令写给标准错误的所有输出作为标准输出重定向到相同的文件描述符。
退出状态:该命令返回下列出口值:126 可以查找但不能调用 Command 参数指定的命令。
127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。
否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。
nohup命令及其输出文件nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思( n ohang up)。
该命令的一般形式为:nohup command &使用nohup命令提交作业如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件:nohup command > myout.file 2>&1 &在上面的例子中,输出被重定向到myout.file文件中。
使用 jobs 查看任务。
使用 fg %n 关闭。
另外有两个常用的ftp工具ncftpget和ncftpput,可以实现后台的ftp上传和下载,这样我就可以利用这些命令在后台上传和下载文件了。
猜你喜欢
- 不写前言,不讲废话,大家直接看例子.用实例说话,看了后自己去思考.好好思考.1:我没有去查baiducom.com是不是已经被注册,我也没去
- 或许你已经注意到了,百度在最近些日子改版了。是的,就像图中的那样,他的框计算改进了。更加智能,更加先进,也更加可怕。过去我曾经写过一篇百度的
- 首先,根据自己网站的统计数据来分析,网上超多免费统计系统,随便找一个吧,里面都有很详细的搜索引擎来路、关键词来路分析等功能,我们要做的就是仔
- 具备内置 Web 与虚拟化技术的 Microsoft Windows Server 2008 使企业能够大幅提升其服务器基础架构的可靠性与灵
- 一项加强服务器安全的新技术就是“客户端操作系统虚拟化”---它的原理就是使用一个特殊的虚拟化引擎来使一个虚拟化的来宾实例运转,或者是使在一个
- PC厂商们正纷纷抛弃上网本,追逐苹果的脚步推出平板电脑。仅仅上市1个月,iPad就卖出了100万部。这对某些产品来说可决不是什么好兆头。在商
- 到2008年10月,google AdSense中文服务开通正好4年,在这4年中我也曾经和很多站长一样每个月底兴奋而急切地等待google寄
- 应用Google Adwords的营销者们现在有了一个新的定向选择。Google Adwords广告系统升级后,商业企业可以根据
- 06下半年以来,对中国广大的站长来说,是具有特别意义的一年。中国的网络社区突然进入产业的冷静期,但是在这个艰苦阶段中,很多留下来的站长仍然坚
- DedeCMS系统V5.7版本默认的文档标题长度仍然有60的限制(30个汉字),可能对于有些长标题或者英文标题不够用。修改下DedeCMS文
- 你的网站是不是常常被黑,或者一不注意就成了黑客的“肉鸡”?对于Web网站服务器来说,如果不进行安全设置,很容易被黑客“盯上”,随时都有被入侵
- 人总是愿意用挑剔的眼光来看到新生事物,在对待刀片服务器的问题就是如此,有些人对于一些反复介绍的技术视而不见,仍然强加给刀片服务器一些莫须有的
- 小编最近在追一部由安以轩、吴建豪主演的偶像剧--《下一站,幸福》,这部剧目前的收视率还不错,但离大家的期望值貌似还差那么一点点。看到很多粉丝
- 你的服务器上是否存有一些不能随意公开的重要数据呢?当然有吧?而最近,偏偏服务器遭受的风险又特别大,越来越多的病毒、心怀不轨的黑客,以及那些商
- Godaddy主机的Update Contact Information部分使你能够更新域名的联系信息。私人或者在设置中的域名联系信息无法更
- 能不能在命令行模式下修改文件夹的访问权限或者共享权限?我用的Windows 2000的操作系统,手工修改方法我知道,但是想用更简便的方法,请
- 你是否留心过:通过域名访问网站首页时,网页返回Http状态码是什么?甚至访问内页时,Http状态码又是什么吗?大多数人可能会想当然的认为首页
- 如要在不同树林里访问资源,系统管理员须手动配置信任关系。Windows 2000具有在不同树林的域之间配置单向非传递性信任的功能。你必须在不
- 中国人有抄袭的传统:古代科举,很多考生把八股文抄在一小块帛上,藏在身上或者绣在衣服里;现代的抄袭水平也已经高科技化了,早点的时候用传呼机,后
- 2009年10月10号,美图秀秀官网发布了2.0周年版,小编这才发现原来美图秀秀已经一岁了。在感叹时间飞逝的同时,小编针对美图秀秀一年来的改