linux中 关于指令 ps aux|grep xx.jar的问题

执行 ps aux|grep xx.jar 后查询到两条进程的信息
图片说明

一个pid 是固定的 ,一个pid 是随时变的,请问这两条有什么区别?
我kill 杀掉 pid 固定的那个进程后去重新编译jar 不用理会pid一直变的那个可以吗?

固定PID就是你想找的进程,而下面那个变化的是ps -aux | grep jar命令产生的。这条命令通过一个管道,产生两个进程,不固定的那行就是后面的grep进程产生的,之所以是grep --colour=auto 而不是grep,是因为bash配置文件中设置了grep的别名,使得显示时高亮,你可以通过alias grep命令来查看,我的打印了alias grep='grep --colour=auto'。
如果不希望看到那条不固定的PID的信息,可以用一些小的trick,ps -aux | grep jar | grep -v grep就不会显示grep了,也可以使用pgrep jar,加上-a选项信息可以稍微全面一点。如果想查找并杀死进程可以使用pkill,建议事前确认一下。

固定的那个pid就是java jar的进程只要没有结束,这个pid就不会变的。下面个一直都在变动的pid是你执行ps -aux | grep jar这个进程的pid,输入完命令就基本执行完了, 当然都是每一次一样的

固定的那个pid就是java jar的进程只要没有结束,这个pid就不会变的。下面个一直都在变动的pid是你执行ps -aux | grep jar这个进程的pid,输入完命令就基本执行完了, 当然都是每一次一样的,同一楼!