Linux 命令每日一练:nohup

命令简介:
通常在Linux系统上部署完程序,需要让它一直在后台运行,否则ssh一旦断开,整个进程就挂了。今天介绍一个关于让程序在后台运行的命令nohup!!
nohup命令可以将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端。
无论是否将 nohup 命令的输出重定向到终端,输出都将追加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,则输出重定向到$HOME/nohup.out文件中。如果没有文件能创建或打开以用于追加输出的内容,那么 command 参数指定的命令不可调用。
命令格式:

	#1.后台启动程序
	nohup command  [参数] &
	#参数可选但不是必须的,有需要看文档既可
	#例如:
	#后台运行test.sh这个shell脚本
	nohup sh test.sh &
	#在后台运行bbs.jar程序
	nohup java -Xmx2000m -Xms2000m --server.port=8080 -jar  bbs.jar &
	
	#执行之后会返回一个进程号
    #以及告诉你程序的标准输出都会保存在一个叫outhup.out的文件中在程序根目录下 

    #2.查看此程序运行状态
    #端口状态查看
    lsof -i:port 
    
	#某某程序运行状态
    ps -ef | grep <程序名>
    #jobs这个命令也可查看程序后台运行状态,不过另启一个ssh就出不来了。
	
	#3.停掉这个程序
    #可以把后台程序转到前台,也可以根据进程号直接干掉,这里我们推荐后者
    #例如根据 ps -ef | grep <程序名> 得到进程号24365
    kill -9 24365
    #这个进程就会停止运行了

    #问题:我之前执行命令的时同时用了nohup和&想让程序后台一直运行,但只要我一断开ssh终端程序依然会挂掉。
    #原因:程序在后台运行了之后,直接把ssh给关了属于不正常断开ssh远程连接,会影响后台程序的运行。
    #解决:这时候我们需要用exit来退出远程连接,苍了天啊啊啊那天我百度了一下午~~~
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值