&方式:
Unix/Linux下一般想让某个程序在后台运行,很多都是使用 & 在程序结尾来让程序自动运行。
比如我们要运行mysql在后台:/usr/local/mysql/bin/mysqld_safe --user=mysql &
nohup方式:
但是我们很多程序并不象mysqld一样可以做成守护进程,可能我们的程序只是普通程序而已,一般这种程序即使使用 & 结尾,如果终端关闭,那么程序也会被关闭。为了能够后台运行,我们需要使用nohup这个命令,比如我们有个start.sh需要在后台运行,并且希望在后台能够一直运行,那么就使用nohup: 
root@ubuntu:~#nohup /root/start.sh & 
在shell中回车后提示: 
root@ubuntu:~# appending output to nohup.out 
原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用。
nohup问题:
但是有时候在这一步会有问题,当把终端关闭后,进程会自动被关闭,察看nohup.out可以看到在关闭终端瞬间服务自动关闭。
有个操作终端时的细节:当shell中提示了nohup成功后还需要按终端上键盘任意键退回到shell输入命令窗口,然后通过在shell中输入exit来退出终端;而我是每次在nohup执行成功后直接点关闭程序按钮关闭终端。所以这时候会断掉该命令所对应的session,导致nohup对应的进程被通知需要一起shutdown。
这个细节有人和我一样没注意到,所以在这儿记录一下了。
附: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上传和下载,这样就可以利用这些命令在后台上传和下载文件了。

nohup方式 真正的后台不挂断运行程序相关推荐

  1. linux后台不挂断运行 nohup命令

    //后台常在  退出终端仍然运行 nohup python pyredis.py & nohup输出重定向到my.log nohup command > my.log 2>& ...

  2. ubuntu Django项目后台不挂断运行之screen命令

    1.安装screen apt install screen 2.新建一个screen screen -S web 这样就会新开一个窗口.cd到你需要的目录然后输入你想输入的命令.输入: python ...

  3. Linux中nohup不挂断运行命令

    nohup就是不挂起的意思( n ohang up) 该命令的一般形式为:nohup command & 语法:nohup Command [ Arg - ] [ & ] 描述:noh ...

  4. linux 后台不挂断地运行命令

    linux 后台不挂断地运行命令 前段时间小编需要在服务器上跑数据,程序写完啦,遇到一个问题,怎么才能在linux服务器上运行,并且是放在后台运行,这样就不需要时刻盯着了,于是乎小编随便在网上找了一下 ...

  5. java 不退出_Java项目不挂断运行,即当账户退出或终端关闭时,程序仍然运行,并附上执行脚本...

    把打包好的jar包上传服务器以后,直接运行java -jar+文件名 命令即可以完成启动. 若需要在公网上如何不挂断开启程序,可以使用nohup java -jar +文件名 &命令,其中no ...

  6. Java项目不挂断运行,运行jar包

    1.运行java项目 打开cmd运行窗口 找到jar包所在的路径E:\mhs   输入cd E:\mhs 运行jar包     输入命令    java -jar mhs.jar 但是关闭cmd窗口, ...

  7. nohup + 命令实现后台不挂断地运行程序

    nohup: nohup:不挂断地运行程序,就是即便关闭终端的窗口,程序还会继续执行. $ nohup python merge_reasons.py 可以看到终端仍在被占用,同级目录下生成了一个no ...

  8. linux不挂断运行python文件

    nohup命令及其输出文件 今天在linux上部署wdt程序,在SSH客户端执行./start-dishi.sh,启动成功,在关闭SSH客户端后,运行的程序也同时终止了,怎样才能保证在推出SSH客户端 ...

  9. centos - 查看程序运行状态、后台运行程序、回调后台程序、监控(tomcat和java程序为例)

    # 线程 查看进程是否启动 https://blog.csdn.net/dongruanlong/article/details/83027737 ps -ef|grep java 或者 ps -au ...

  10. linux后台运行python程序 nohup不挂断

    nohup python3 -u test.py > out.log 2>&1 & 或者 nohup sh **.sh > /dev/null 2>&1 ...

最新文章

  1. 当代大学生对学习Linux的一点拙见
  2. 写了一个 SSO 单点登录的代码示例给胖友!
  3. [经典面试题]二叉树宽度
  4. 人工智能 | SLAM与Visual Odometry技术综述(浙江大学智能系统和控制研究所)
  5. 另存为常用位置设置 1.0 绿色版
  6. linux目录结果说明,Linux目录结构及文件说明
  7. executor线程池框架_如何使用Java 5 Executor框架创建线程池
  8. php seaslog安装,浅谈win10下安装php seaslog扩展的方法
  9. Go Web编程--深入学习解析HTTP请求
  10. PyTorch 1.0 中文文档:torch.distributed
  11. vrrp 理论和配置
  12. 徐中约与《中国近代史》 (zz)
  13. VC++6.0下编译xvidcore1.1.0
  14. 中华人民共和国国家标准和行业标准代号
  15. 上传图片时出现http 415错误
  16. 系统之家启动维护光盘v3.0[小盘·贺岁篇]
  17. 自我介绍与学习linux运维决心书
  18. 投资中最简单的事儿(量价双突破,买错也要买)
  19. shader拖尾_u3d拖尾特效组件-------TrailRenderer
  20. 一个新手学着重装系统之路

热门文章

  1. python while语句写法
  2. java中遍历Map几种方法
  3. JBoss环境搭建及部署Web项目
  4. JBOSS AS 性能调整优化
  5. 怎样成为优秀软件模型设计者
  6. 面向接口编程详解---编程实例
  7. Cuda-convnet配置指南 on Windows8.1+CUDA6.5+VS2013
  8. ENVI入门系列教程---一、数据预处理---5. 图像自动配准
  9. ArcGIS 判断坐标系是否正确
  10. ENVI软件中决策树分类和监督分类算法比较