【Linux命令】nohup和&差异,查看进程和终止进程!
最近在开发dueros的技能,官方提供的PHPSDK中有多个实力,而运行实例的命令如下是
从命令来看,肯定是在8029启动了一个服务,因为之前从来没有用过这个Linux命令,所以对这个命令很好奇。比如,这个命令的标准格式是什么,参数是什么,如何查看这个进程以及如何结束这个进程。后面还有一个&,不知道又是什么功效?
从网络资料可知,nohup命令格式,用法说如如上。 最后的&代表用途是让进程在“后台运行”。 一般情况下nohup和&都是组合使用。
下面就举个例子。
1. 用nohup和&创建进程
执行命令后会返回进程ID:5701,在当前目录创建一个nohup.out文件。
2. 查看这个进程。
1 2 | [root@AY140716152350Z ~] # jobs -l [1]+ 5701 Running nohup php -S 0.0.0.0:8029 myindex.php & |
Jobs -l jobs命令只看当前终端生效的,关闭终端后,其他终端就无效了
1 2 3 4 5 6 7 | [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. 结束进程
1 | [root@AY140716152350Z ~] # kill -9 5701 |
如果需要结束进程,只需用kill命令,参数就是进程号。这个创建的时候可以知道。通过,第二部的命令也可以获取。
-9 是kill命令的一个参数,可以理解为“强杀”,比起不带参数杀伤力更强。
4.扩展内容
使用awk命令获得进程ID
1 2 | [root@AY140716152350Z ~] # ps -aux|grep index.php|grep -v grep| awk '{print $2}' 5701 |
print $2 代表取第二个列。从上面ps的结果中可以看到,第二列就是进程ID。
使用 lsof 查看端口使用情况
1 2 3 | [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和&应该大致有个了解了吧。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性