linux获取指定服务运行的进程号
linux中
ps -ef用于查看全格式的全部进程,其中“ps”是在linux中是查看进程的命令,“-e ”参数代表显示所有进程,“-f”参数代表全格式。

其中各列的内容意思
如下:
uid //用户id、但输出的是用户名 pid //进程的id ppid //父进程id c //进程占用cpu的百分比 stime //进程启动到现在的时间 tty //该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程。 cmd //命令的名称和参数
比如查看mysql服务进程的情况
用grep抓取mysql文本所在的行
ps -ef | grep mysql

要仅仅只抓取id号,通过awk实现。
awk是一个文本分析工具,他可以把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理,$2 是指第二个切片。
故通过awk {print $2}表示抓取进程id号
ps -ef | grep mysql | awk '{print $2}'
这里可以比较看出
多出了一个进程号,这是grep时所多出来的进程,通过grep -v grep去除包含grep文本的进程行 ,避免影响最终数据的正确性
ps -ef | grep mysql | grep -v grep | awk '{print $2}'
这样,就可以抓取特定进程的id号
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论