Linux后台运行命令nohub输出pid到文件(转)

摘要:
您可以使用nohup启动后台进程。让一个占据前台的程序在后台运行,并将日志默默地输出到文件:nohupcommand˃logfileTxt&但如果您需要结束此过程,一般方法是使用ps命令查找进程,使用grep过滤进程名称,最后获取pid,然后使用kill命令结束进程:ps-ax|grepcommand#Check-PIDkill-9[PID]#要结束与PID对应的进程,更简单的方法是在使用nohup创建进程时使用shell的特殊变量$!保存最后一个后台进程的PID:nohupcommand˃logfile。txt和echo$!shell运行的最后一个后台进程的PID$?以“$n”的形式输出所有参数。

用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的参数个数
$0Shell本身的文件名
$1~$n添加到Shell的各参数值。$1是第1参数、$2是第2参数…。

参考:

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

免责声明:文章转载自《Linux后台运行命令nohub输出pid到文件(转)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇win10 Jmeter5.1进行websocet压力测试笔记 服务端 net core2.2ArcGis连接oracle、oracle配置下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux Makefile analysis for plain usr

一、本文主旨   笔者写了一篇linux内核Makefile整体分析 ,测重于理论分析,对于实际应用不算对头,所以需要写一篇实用性较强的文章,为以后内核、驱动移植做好铺垫。 二、本文内容概要 1、编译哪些文件 2、怎样编译这些文件 3、怎样连接这些文件,它们的顺序如何 三、编译哪些文件   本文的实验源码是对“linux-2.6.30.4”进行移植后的运行...

MSF使用之meterpreter模块

一、简介 Meterpreter是Metasploit提供的一个非常强大的后渗透工具 Meterpreter可以看成特殊的Payload,之前我们的Payload都是为了获得目标系统的shell 这里的payload就是shellcode,以获得目标系统的shell为目的的payload 我们获得的shell有些缺陷,仅利用shell来收集更多的信息、做更...

linux下安装protobuf及cmake编译

一.protobuf 安装 protobuf版本:2.6.1 下载地址:https://github.com/google/protobuf/archive/v2.6.1.zip 解压之后进入目录 修改autogen.sh echo "Google Test not present. Fetching gtest-1.5.0 from the web.....

大数据之Shell编程(一) Shell变量

1.Shell中的变量 Shell中的变量分为系统变量和用户变量,可以通过set命令查看有哪些变量可以使用系统变量比如:$HOME$PWD$SHELL$USER等等 2.变量的定义 变量=值 (例如STR=abc) 注意:=两边不能含有空格 变量一般使用大写,当然不是硬性规定 双引号和单引号区别:双引号仅仅将空格等脱意,而单引号会将所有的特殊字符脱意 &g...

linux下搭建lamp环境以及安装swoole扩展

一、CentOS 6.5/CentOS 6.9使用yum快速搭建LAMP环境 准备工作:先更新一下yum源  我安装的环境是:apache2.2.15+mysql5.5.60+php5.6.36 输入下面命令: yum -y update 1、安装Apache [root@localhost ~]# yum -y install httpd # 开机自启动...

Linux进程地址空间之初探:一

引言:现代操作系统提供了一种对内存的抽象概念,叫做虚拟存储器,它为每个进程提供了一个大的,一致的,和私有的地址空间。通过一个很清晰的机制,虚拟存储器提供了3个重要的能力: 1)它将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,并根据需要在磁盘和主存之间来回传送数据,通过这种方式,它高效的使用了主存。 2)它为每个进程提供了一致的...