【Linux命令】nohup和&差异,查看进程和终止进程!
最近在开发dueros的技能,官方提供的PHPSDK中有多个实力,而运行实例的命令如下是
nohup php -S 0.0.0.0:8029 myindex.php &
从命令来看,肯定是在8029启动了一个服务,因为之前从来没有用过这个Linux命令,所以对这个命令很好奇。比如,这个命令的标准格式是什么,参数是什么,如何查看这个进程以及如何结束这个进程。后面还有一个&,不知道又是什么功效?
语法:nohup Command [ Arg … ] [ & ]
用途:不挂断地运行命令。
无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。
如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。
如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。
退出状态:该命令返回下列出口值:
126 可以查找但不能调用 Command 参数指定的命令。
127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。
否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。
从网络资料可知,nohup命令格式,用法说如如上。 最后的&代表用途是让进程在“后台运行”。 一般情况下nohup和&都是组合使用。
下面就举个例子。
1. 用nohup和&创建进程
nohup php -S 0.0.0.0:8029 myindex.php &
[1] 5701
[root@AY140716152350Z ~]# nohup: ignoring input and appending output to `nohup.out'
执行命令后会返回进程ID:5701,在当前目录创建一个nohup.out文件。
2. 查看这个进程。
[root@AY140716152350Z ~]# jobs -l
[1]+ 5701 Running nohup php -S 0.0.0.0:8029 myindex.php &
Jobs -l jobs命令只看当前终端生效的,关闭终端后,其他终端就无效了
[root@AY140716152350Z ~]# ps -aux|grep index.php
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root 5701 0.0 0.5 195876 10284 pts/0 S 11:34 0:00 php -S 0.0.0.0:8029 myindex.php
root 5982 0.0 0.0 103188 880 pts/0 S+ 11:39 0:00 grep index.php
[root@AY140716152350Z ~]# ps -aux|grep index.php|grep -v grep
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root 5701 0.0 0.5 195876 10284 pts/0 S 11:34 0:00 php -S 0.0.0.0:8029 myindex.php
如果你断开终端之后,再次登录,可以使用 ps -aux命
a:显示所有程序
u:以用户为主的格式来显示
x:显示所有程序,不以终端机来区分
通过添加 |grep -v grep 可以排除自身进程。
3. 结束进程
[root@AY140716152350Z ~]# kill -9 5701
如果需要结束进程,只需用kill命令,参数就是进程号。这个创建的时候可以知道。通过,第二部的命令也可以获取。
-9 是kill命令的一个参数,可以理解为“强杀”,比起不带参数杀伤力更强。
4.扩展内容
使用awk命令获得进程ID
[root@AY140716152350Z ~]# ps -aux|grep index.php|grep -v grep| awk '{print $2}'
5701
print $2 代表取第二个列。从上面ps的结果中可以看到,第二列就是进程ID。
使用 lsof 查看端口使用情况
[root@AY140716152350Z ~]# lsof -i:8029
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
php 6736 root 4u IPv4 49611460 0t0 TCP *:8029 (LISTEN)
在启动某个服务的时候我们常常会遇到端口被占用的情况,此时,我们非常希望知道是什么命令占用了这个端口,就可以用这个命令。
好了,这么一圈下来,nohup和&应该大致有个了解了吧。
【Linux命令】nohup和&差异,查看进程和终止进程!的更多相关文章
- Linux命令nohup实现命令后台运行并输出到或记录到日志文件
Linux命令nohup实现命令后台运行并输出到或记录到日志文件 导读 我们在调试程序的时候,免不了要去抓一些 log ,然后进行分析.如果 log 量不是很大的话,那很简单,只需简单的复制粘贴就好. ...
- Linux命令nohup+screen 转
如果想在关闭ssh连接后刚才启动的程序继续运行怎么办,可以使用nohup.但是如果要求第二天来的时候,一开ssh,还能查看到昨天运行的程序的状态,然后继续工作,这时nohup是不行了,需要使用scre ...
- 用Cygwin实现在window环境下使用Linux命令-nohup 来后台运行程序
1.安装Cygwin 下载 cygdrive-选择64或32位 http://www.cygwin.com/ 注:可以百度搜索安装步骤 2.配置它的环境变量 添加到path路径中 3.cmd 执 ...
- Linux服务器管理: 系统的进程管理终止进程kill命令
在Linux中如何用kill终止进程: kill -l [root@localhost~]#kill -l 可以看到kill中有很多的 常用: -1 是重启一个进程 -9 是强制杀死进程 ...
- 菜鸟学Linux命令:nohup命令启动程序
在UNIX/LINUX中,普通进程用&符号放到后台运行,如果启动该程序的控制台logout,则该进程随即终止. 要实现守护进程,一种方法是按守护进程的规则去编程,比较麻烦:另一种方法是仍然用普 ...
- Linux查看进程和终止进程的技巧
1. 在LINUX命令平台输入1-2个字符后按Tab键会自动补全后面的部分(前提是要有这个东西,例如在装了tomcat的前提下,输入tomcat的to按tab). 2. ps 命令用于查看当前正在运行 ...
- Linux命令之pstree - 以树状图显示进程间的关系
pstree命令以树状图显示进程间的关系(display a tree of processes).ps命令可以显示当前正在运行的那些进程的信息,但是对于它们之间的关系却显示得不够清晰.在Linux系 ...
- [Linux] Linux命令之pstree - 以树状图显示进程间的关系
转载自: http://codingstandards.iteye.com/blog/842156 pstree命令以树状图显示进程间的关系(display a tree of processes). ...
- Linux命令学习—— fdisk -l 查看硬盘及分区信息
Linux命令学习(3)-- fdisk -l 查看硬盘及分区信息注意:在使用fdisk命令时要加上sudo命令,否则什么也不能输出linux fdisk 命令和df区别是什么? fdisk工具是分区 ...
随机推荐
- 上传、裁剪图片-----Jcrop图片裁剪插件
Jcrop文档:http://code.ciaoca.com/jquery/jcrop/C#裁剪:http://www.cnblogs.com/xyang/archive/2013/02/25/293 ...
- 转 v$session_longops视图
转http://www.dbdream.com.cn/2013/10/14/vsession_longops%E8%A7%86%E5%9B%BE/ 1.有的时候不准确 ,我看到 session wai ...
- centos6.3搭建FTP服务器图文教程
今天下午不忙,没什么事,看到我大红盟linux版块如此冷清,心不能忍,做了个FTP服务器的搭建教程,大家可以看看, 不会做视频,就图文交叉了,写得不好,望谅解.以后有时间再出一个LNMP的教程. 不磨 ...
- go实现主线程等待子线程都运行完再退出
方式一 package main import ( "fmt" ) func main() { ch := make(chan struct{}) count := 2 // co ...
- Java中的break循环——通过示例学习Java编程(13)
作者:CHAITANYA SINGH 来源:https://www.koofun.com//pro/kfpostsdetail?kfpostsid=24 break语句通常用于以下两种情况: (A)使 ...
- $.ajax同步/异步(async:false/true)
虽然说ajax用来执行异步请求的比较多,但有时还是存在需要同步执行的情况的. 比如:我需要通过ajax取执行请求以返回一个值,这个值在ajax后面是需要使用到的,这时就不能用异步请求了.这时候就需要使 ...
- Git中文件属性的变化,被认为是文件有改动
问题描述: 1. 从公司的git服务器上, 下载最新的代码(zip格式), 解压缩出来, 2. 过一段时间, 去执行git pull代码, 出现如下情况: $ git pull Updating ...
- Google Play发布App中遇到"多个APK:版本1未提供给任何设备配置使用。"问题的解决方法
在google play上发布apk,当上传了apk文件,填写了相关的内容信息和介绍图片.图标后,出现“发布应用”始终灰色无法点击,查看原因显示如下问题: 其中支持的设备数量始终显示为0,怀疑是编译出 ...
- Monitorix系统和网络监控工具
Monitorix 系统和网络监控公工具一.monitorixMonitorix是一款功能非常强大的免费开源轻型工具,目的在于监测Linux中的系统和网络资源.它可以定期收集系统和网络数据,并使用自己 ...
- 监测元素resize
前言 近来有需求要做分页,听起来可能有点Low. 所以我要把Low的事情做得有点逼格. 分页本身没啥,但是数据量起来了,比如十万. 要是不做点处理, 那你的页面估计爽得很,机器也爽得很. 放心,我不会 ...