如何查看进程是否在unix

时间:2016-12-08 10:51:19

标签: bash unix process

我正在尝试恢复暂停的所有进程,但我不知道如何检查进程是否被暂停。我尝试过但不表示该过程是暂停还是正在运行。

2 个答案:

答案 0 :(得分:4)

如果您使用的是Linux,可能会使用Ipor的方式(string name ="FooClass"; //Get IBaseCodeService<FooClass> then call Get method public class BaseCodeService<T> : IBaseCodeService<T> where T : BaseCode { readonly IAttributeUow uow; public BaseCodeService(IAttributeUow uow) { this.uow = uow; } public async Task<IEnumerable<T>> Get() { using (uow) { var repo = uow.GetCoreRepository<T>(); return await repo.GetAll().ToListAsync(); } } } ),但是一个更适合大多数Unix / Unix的便携式解决方案,操作系统将使用标准命令,如Barmar已建议的那样在评论中:

/proc/<pid>/status

这将显示ps -o s= -p <pid> 暂停进程(如果因为被调试而停止)。

答案 1 :(得分:1)

使用pid $pid检查流程非常简单:

if grep -q "^State.*stopped" /proc/$pid/status; then
    echo Process $pid is sleeping
else
    echo Process $pid is active
fi