了解Linux后台正在运行哪些进程
如何确定Linux操作系统在后台运行哪些进程?
在Linux中,后台进程不过是独立于shell运行的进程。
一个人可以离开终端窗口,但是进程在后台执行,而无需用户进行任何交互。
例如,Apache或Nginx Web服务器始终在后台运行以为您提供图像和动态内容。
该页面显示了如何列出在Linux中后台运行的所有此类进程。
如何找出后台正在运行的进程
- 您可以使用ps命令列出Linux中的所有后台进程。其他Linux命令来获取Linux后台正在运行的进程。
- top命令显示Linux服务器的资源使用情况,并查看正在消耗大多数系统资源(例如内存,CPU,磁盘等)的进程。
- htop命令就像top命令一样,但具有改进的用户界面。
让我们看到传统命令示例和现代命令示例,这些示例可用于管理Linux中正在运行的进程。
如何在后台运行Linux进程?
要在后台运行进程或命令/shell脚本,请在用于运行作业的命令/shell脚本的末尾添加一个&(符号)。
例如:
command & /path/to/script & sleep 10000 &
列出您的后台进程
运行作业命令:
jobs
[1]+ Stopped vim [2]- Running sleep 10000 &
要停止前台进程,请按CTRL + Z。
一个人可以按编号引用后台进程或已停止的进程。
例如,vim已停止并且编号为1,因此运行bg命令以重新启动已停止的后台进程:
bg %n bg %1
可以使用fg命令将后台进程带入前台,例如sleep命令:
fg %n fg %2
最后,使用kill命令杀死一个名为sleep 10000的正在运行的进程:
kill %n kill %2
Linux后台进程列表命令
打开终端应用程序,然后发出以下ps命令命令以显示系统上所有正在运行的进程,包括在后台运行的进程:
$ sudo ps -aux | less
或者
# ps aux | more
使用ps命令列出Linux上所有正在运行的进程
了解ps命令输出
第一列显示在Linux系统上启动前台或后台进程的用户名。
例如,守护程序用户启动了atd进程。
进程名称本身显示在最后一栏中。
STAT coloum为我们提供了Linux进程的状态:
处理状态代码 | 描述 |
---|---|
D | 不间断的睡眠(通常是IO) |
I | 空闲内核线程 |
R | 正在运行或可运行(在运行队列中) |
S | 睡眠中断(等待事件完成) |
T | 由作业控制信号停止 |
t | 在跟踪过程中被调试器停止 |
W | 分页(自2.6.xx内核以来无效) |
X | 死(永远不可见) |
Z | 已终止的(僵尸)进程,已终止但未被其父进程收割 |
通常,可中断睡眠中的进程在后台运行,并在进程STAT列上显示S
。
可中断的睡眠意味着可以借助kill命令终止或终止进程。
另一方面,处于D或不间断睡眠状态的进程通常正在等待I/O。
因此,您无法杀死D状态进程,因为它们是不间断的。
其他字符也可能显示如下:
处理状态代码 | 描述 |
---|---|
< | 高优先级(对其他用户不利) |
N | 低优先级(对其他用户很好) |
L | 已将页面锁定在内存中(用于实时和自定义IO) |
s | 是会议负责人 |
l | 是多线程的(使用CLONE_THREAD,就像NPTL pthreads一样) |
+ | 位于前台进程组 |
我的Linux进程运行在前台还是后台?
根据上表,可以确定Linux进程是在后台还是在前台或正在运行等等。
命令/进程 | ps状态代码 | 前景还是背景? |
---|---|---|
/sbin/init | `Ss | |
/usr/sbin/rsyslogd -n | Ssl | 背景进程(可中断睡眠+会话负责人和多线程应用程序) |
/sbin/agetty --noclear | Ss + | 背景处理(可中断的睡眠和会话领导者,处于前台组中) |
ps aux | R + | 正在运行的前台进程 |
使用以下命令列出Linux进程以及pid,用户名和stat,如下所示:
ps -eo pid,user,stat,comm
可以将ps与grep命令命令结合使用,如下所示:
ps -eo pid,user,stat,comm | grep nginx
如何仅列出Linux上正在运行的进程?
ps r
列出此当前终端上的所有进程
ps T
显示Linux进程而无需控制ttys
ps x
top和htop命令
top命令实时显示Linux进程。
按以下方式运行,并查找" STAT"列。
top top [option]
同样,可以使用top的增强版本,例如atop或htop。
htop atop htop [options]