每个正在运行的服务是否都有一个可以通过ps
linux命令看到的进程?
如果是,我该如何找到相关的进程名称?
例如,如果ntp
正在运行,我应该通过名称查看它ntp
吗ps -aux | grep ntp
?
答案1
每个正在运行的服务是否都有一个可以通过 Linux 上的 ps 命令看到的进程
是的。
例如,如果 ntp 正在运行,我是否应该在 ps -aux | grep ntp 中通过名称 ntp 查看它?谢谢
是的。
$ ps -aux | grep ntp
ntp 1142 0.0 0.0 40264 1456 ? Ss Feb25 5:07
/usr/sbin/ntpd -p /var/run/ntpd.pid -g -c /var/lib/ntp/ntp.conf.dhcp -u 105:112
它至少会显示守护进程和用户的名称。对于“ntp”,则显示“ntpd”和“ntp”。但有些服务(默认情况下)使用其他用户名而不是进程名称:apache 用户“www-data”作为用户名,“apache2”是进程。
来自评论:
那么我如何才能找到服务的确切进程名称?
我倾向于了解系统上运行的所有进程的名称。通过 systemd 搜索时,Apache 不起作用:
$ ps -ef | grep apache
www-data 9799 1638 0 11:21 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 12293 1638 0 12:00 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 12727 1638 0 12:02 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 13122 1638 0 12:08 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 13711 1638 0 12:18 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 14004 1638 0 12:20 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 14013 1638 0 12:20 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 14120 1638 0 12:22 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 15079 1638 0 12:41 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 15557 1638 0 12:51 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 15783 1638 0 12:57 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 15786 1638 0 12:57 ? 00:00:00 /usr/sbin/apache2 -k start
$ sudo systemctl list-unit-files | grep apache
$ sudo systemctl list-unit-files | grep https
$ sudo systemctl list-unit-files | grep http
不,一切都是 systemd 服务 ;)