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号