前言

我们运行某些命令的时候,它会默认在前台执行。如果要进行其他操作,则需要先停掉此程序。然后就蛋疼了。

 

解决

碰到这种情况,我们可以使用"nohup"命令和"&"命令符来进行后台执行。

 

例如,我要启动mysql进程,命令如下:

mysql -uroot -p --defaults-file=/etc/my.cnf

它会在前台运行,我要进行其他操作,则需要ctrl+c退出来再做其他事。这时我为了保证其在后台运行,就可以在命令的头部加"nohup",尾部加"&"来保证其后台运行,命令如下:

nohup mysql -uroot -p --defaults-file=/etc/my.cnf &

如果有报错,它会在命令执行后1-2s报出来;如果没有,它会报出一个进程号。

 

无论执行是否成功,你都可以进行其他操作。

 

这时,命令执行的命令会导入到一个叫nohup.out的文件中。这个nohup.out路径有优先级排序,分别是:

  1. 命令中指定的位置。例如:

    nohup mysql -uroot -p --defaults-file=/etc/my.cnf >> /var/log/nohup.out &

    则命令执行的文件将会被重定向到/var/log/nohup.out。

 

  1. 本目录下。

    若不指定重定向文件,在当前用户有本目录写权限的情况下,则nohup会默认在本目录下创建nohup.out文件。

 

  1. 本用户的家目录下。

    若不指定重定向文件,在当前用户有本目录写权限的情况下,则nohup会默认在本用户的家目录下创建nohup.out文件

     

同时,频繁使用nohup会使得nohup.out文件很容易变大,所以需要定期清理。可使用

 > /path-to-nohup/nohup.out  #将空格写入nohup.out文件中,以达到清理目的。

来清理。

后记:

至于更加高级的操作,我也还在思考做。以后贴文细讲。

nohup保证程序后台运行的更多相关文章

  1. nohup + & 保证服务后台运行不中断

    nohup和&后台运行,进程查看及终止   1.nohup 用途:不挂断地运行命令. 语法:nohup Command [ Arg … ] [ & ] 无论是否将 nohup 命令的输 ...

  2. Linux命令nohup实现命令后台运行并输出到或记录到日志文件

    Linux命令nohup实现命令后台运行并输出到或记录到日志文件 导读 我们在调试程序的时候,免不了要去抓一些 log ,然后进行分析.如果 log 量不是很大的话,那很简单,只需简单的复制粘贴就好. ...

  3. iOS7程序后台运行

    介绍 这次 iOS7 对程序后台运行进行了加强,但是仅仅是加强而已,要想像 Android 程序那样自由当然就别想了,苹果这么做主要还是出于电池使用时间考虑,但是这次的加强对大部分程序基本够用. 在介 ...

  4. Linux 程序后台运行

    例子: shadowsocks 程序后台运行: sslocal -c /etc/shadowsocks-libev/config.json > /dev/>& & 参考: ...

  5. Linux nohup 程序后台运行

    &方式: Unix/Linux下一般想让某个程序在后台运行,很多都是使用 & 在程序结尾来让程序自动运行.比如我们要运行mysql在后台:          /usr/local/my ...

  6. CentOS 不间断会话(ssh关闭后如何保证程序继续运行)(nohup和screen)

    当使用ssh与远程主机的会话被关闭时,在远程主机上运行的命令也随之被中断. 就是ssh 打开以后,bash等都是他的子程序,一旦ssh关闭,系统将所有相关进程杀掉!! 导致一旦ssh关闭,执行中的任务 ...

  7. Linux下使用nohup实现在后台运行程序(转)

    相比上一篇http://www.cnblogs.com/EasonJim/p/6833417.html使用screen实现后台运行程序,各有各的好处,多一种选择吧. Linux下一般比如想让某个程序在 ...

  8. ios程序后台运行设置(不是太懂)

    文一 我从苹果文档中得知,一般的应用在进入后台的时候可以获取一定时间来运行相关任务,也就是说可以在后台运行一小段时间. 还有三种类型的可以运行在后以, 1.音乐 2.location 3.voip 文 ...

  9. Qt编写守护程序保证程序一直运行(开源)

    没有任何人敢保证自己写的程序没有任何BUG,尤其是在商业项目中,程序量越大,复杂度越高,出错的概率越大,尤其是现场环境千差万别,和当初本地电脑测试环境很可能不一样,有很多特殊情况没有考虑到,如果需要保 ...

随机推荐

  1. Mac 上 QuickTime Player 播放器以 1.1、1.2 倍速等更精确速度快进/快退播放的方法

    苹果的 QuickTime Player 播放器上点击双箭头按钮可以用 2.4.8 倍的速度快进/快退播放视频,但是 2 倍速太快了,如果我想以 1.1.1.2 倍速这种更精确的速度控制视频播放呢?按 ...

  2. 《挑战30天C++入门极限》对C++递增(增量)运算符重载的思考

        对C++递增(增量)运算符重载的思考 在前面的章节中我们已经接触过递增运算符的重载,那时候我们并没有区分前递增与后递增的差别,在通常情况下我们是分别不出++a与a++的差别的,但的确他们直接是 ...

  3. mysql8数据库连接kettle

    1.将kettle连接mysql的包放入lib文件目录 2.修改data-integration\simple-jndi路径下的jdbc.properties配置文件,加上如下内容(kettle为数据 ...

  4. Java8中LocalDate的使用---项目中日期处理

    // 获取当前日期 LocalDate now = LocalDate.now(); // 设置日期 LocalDate now2 = LocalDate.of(2099, 2, 28); // 解析 ...

  5. 部署gerrit环境完整记录【转】

    开发同事提议在线上部署一套gerrit代码审核环境,废话不多说,部署gerrit的操作记录如下:提前安装好java环境,mysql环境,nginx环境测试系统:centos6.5下载下面三个包,放到/ ...

  6. python+opencv图像变换的两种方法cv2.warpAffine和cv2.warpPerspective

    本文链接:https://blog.csdn.net/qq_27261889/article/details/80720359 # usr/bin/env python # coding: utf- ...

  7. 用java输出杨辉三角

    杨辉三角:它的两个边都是1,内部其它都是肩上两个数的和 第一种: package aaa; public class YangHui { public static void main(String[ ...

  8. https://zhuanlan.zhihu.com/p/32553477

    科普:QUIC协议原理分析  

  9. JMS与消息队列

    JMS,Java Message Service,即Java消息服务. MOM,Message Oriented Miiddleware的英文缩写,指的是利用高效可靠的消息传递机制进行平台无关的数据交 ...

  10. Kubernetes addons 之 coredns部署

    Kubernetes addons 之 coredns部署 2019.06.04 18:04:35字数 1045阅读 121 DNS 是 Kubernetes 的核心功能之一,通过 kube-dns ...