用nohup可以启动一个后台进程。让一个占用前台的程序在后台运行,并静默输出日志到文件:

nohup command > logfile.txt &

但是如果需要结束这个进程,一般做法是用ps命令找出这个进程,用grep过滤进程名,最后得到pid,然后再用kill命令结束进程:

ps -ax | grep command  # 查看PID
kill -9 [PID] # 结束PID对应的进程

有一个更简单的办法是,在用nohup创建进程时,就用shell的特殊变量$!把最后一个后台进程的PID保存下来:

nohup command > logfile.txt & echo $! > pidfile.txt

需要结束进程的时候,直接进行kill:

kill -9 `cat pidfile.txt`

附:Shell中的特殊变量说明

变量 说明
$$ Shell本身的PID(ProcessID)
$! Shell最后运行的后台Process的PID
$? 最后运行的命令的结束代码(返回值)
$- 使用Set命令设定的Flag一览
$* 所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
$@ 所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
$# 添加到Shell的参数个数
$0 Shell本身的文件名
$1~$n 添加到Shell的各参数值。$1是第1参数、$2是第2参数…。

参考:

http://www.jianshu.com/p/5a04e2452e3f(以上内容转自此篇文章)

Linux后台运行命令nohub输出pid到文件(转)的更多相关文章

  1. linux后台运行命令:&和nohup

    常用后台运行命令包含:&和nohup 一.& 使用 当在前台运行某个作业时,终端被该作业占据:可以在命令后面加上& 实现后台运行.例如:sh test.sh & 适合在 ...

  2. Linux 后台运行命令:nohup 和 &

    [参开文章]:nohup 与 & 的区别 1. nohup 1.1 基本概念 将程序以忽略挂起信号的方式运行起来: 不可以免疫 Ctrl + C  的 SIGINT 中断信号: 可以免疫 SI ...

  3. linux 后台运行命令 nohup命令

    转载:http://if.ustc.edu.cn/~ygwu/blog/archives/000538.html 2005年04月18日 简单而有用的nohup命令在UNIX/LINUX中,普通进程用 ...

  4. Linux后台运行命令 nohup command > myout.file 2>&1

    Linux命令后台运行 转自北国的雨,谢谢:http://www.cnblogs.com/lwm-1988/archive/2011/08/20/2147299.html 有两种方式:1. comma ...

  5. Linux后台运行命令,nohup和&的区别

    &的意思是在后台运行, 什么意思呢?  意思是说, 当你在执行 ./a.out & 的时候, 即使你用ctrl C,  那么a.out照样运行(因为对SIGINT信号免疫). 但是要注 ...

  6. linux 后台运行命令

    command & 关闭终端,程序会终止 nohup command & 关闭终端,程序不会终止

  7. linux后台运行命令

    Ctrl+z/bg/nohup/setsid/& screen 区别待续

  8. 2016-09-19: linux后台运行

    linux后台运行命令两种方式: 1. command & : 后台运行,你关掉终端会停止运行   2. nohup command & : 后台运行,你关掉终端也会继续运行 简介 L ...

  9. Linux后台执行命令:&和nohup nohup和&后台运行,进程查看及终止

    nohup和&后台运行,进程查看及终止   阅读目录 nohup和&后台运行,进程查看及终止 1.nohup 2.& 3.nohup和&的区别 &:是指在后台运 ...

随机推荐

  1. sql格式化工具

    桌面版: SQLInform: http://www.sqlinform.com/download_free_desktop_sw.html 在线格式化: http://www.dpriver.com ...

  2. Android(java)学习笔记166:上下文的区分

    1.两种上下文:  (1)Activity.this                               界面的上下文 (2)getApplicationContext()         整 ...

  3. activitmq+keepalived+nfs 非zk的高可用集群构建

    nfs 192.168.10.32 maast 192.168.10.4 savel 192.168.10.31 应对这个需求既要高可用又要消息延迟,只能使用变态方式实现 nfs部署 #yum ins ...

  4. css--css选择器,伪类

    前戏 前面我们说过CSS规则由选择器和声明组成,我们要给标签设置属性,那我们就要找到对应的标签,CSS选择器可以帮我们找到我们需要的标签 css选择器有: 标签选择器 类选择器 ID选择器 全局选择器 ...

  5. net core 使用ef生成实体类(SqlServer)

    1)打开程序包管理器控制台 2)输入命令  Install-Package Microsoft.EntityFrameworkCore.SqlServer 3)输入命令  Install-Packag ...

  6. TWaver可视化编辑器的前世今生(三)Doodle编辑器

    插播一则广告(长期有效)TWaver需要在武汉招JavaScript工程师若干要求:对前端技术(JavasScript.HTML.CSS),对可视化技术(Canvas.WebGL)有浓厚的兴趣基础不好 ...

  7. Puppeteer-常规操作一

    这里不讲 Puppeteer 怎么使用,主要讲一些常规操作在这里如何通过另类方法实现.等实现后,你就会感觉,嗯~~ 真香! 场景一 已经找出要的元素,现在有需求再继续寻找他的子元素 第一种.将父元素带 ...

  8. 【简●解】[USACO] 照片Photo

    [简●解][USACO] 照片Photo [题目大意] 在\(1\)~\(N\)的序列上有\(M\)个区间,使得这\(M\)个小区间每个覆盖了且仅覆盖了一个点,求最多点数,如果无解,输出\(-1\). ...

  9. Mysql 参数优化

  10. ThinkPHP foreach标签

    $optionvalue = array( 'MSGTYPE_TEXT'=>'文本消息', 'MSGTYPE_EVENT_SCAN'=>'扫描事件', 'MSGTYPE_EVENT_sub ...