小编apo*_*lon的帖子

如何在 Linux 中显示进程状态(阻塞、非阻塞)

有没有办法在 Linux 进程表中查询进程的状态,以便能够证明在执行查询时进程是正在运行还是被阻塞?我的目标是从进程或程序的“外部”执行此操作,因为我希望从操作系统进程的角度理解这一点,但欢迎提出任何想法!

这是python代码阻塞的过程:

import subprocess
proc = subprocess.call('ls -lRa /', shell=True)
Run Code Online (Sandbox Code Playgroud)

这是非阻塞进程的python代码:

import subprocess
proc = subprocess.Popen('ls -lRa /', shell=True)
Run Code Online (Sandbox Code Playgroud)

这是显示进程 ID 的“ps -ef”的输出:

UID        PID  PPID  C STIME TTY          TIME CMD
user1    14308  4145  0 15:30 pts/2    00:00:00 python call_b.py
user1    14309 14308  0 15:30 pts/2    00:00:00 /bin/sh -c ls -lRa /
user1    14310 14309 15 15:30 pts/2    00:00:30 ls -lRa /
root     14313     2  0 15:31 ?        00:00:00 [kworker/2:0]
user1    14318  2476  0 15:32 pts/4    00:00:00 -bash …
Run Code Online (Sandbox Code Playgroud)

python linux process nonblocking blocking

4
推荐指数
1
解决办法
7093
查看次数

标签 统计

blocking ×1

linux ×1

nonblocking ×1

process ×1

python ×1