相关疑难解决方法(0)

使用模块'subprocess'和超时

这是运行任意命令返回其stdout数据的Python代码,或者在非零退出代码上引发异常:

proc = subprocess.Popen(
    cmd,
    stderr=subprocess.STDOUT,  # Merge stdout and stderr
    stdout=subprocess.PIPE,
    shell=True)
Run Code Online (Sandbox Code Playgroud)

communicate 用于等待进程退出:

stdoutdata, stderrdata = proc.communicate()
Run Code Online (Sandbox Code Playgroud)

subprocess模块不支持超时 - 能够终止运行超过X秒的进程 - 因此,communicate可能需要永久运行.

在旨在在Windows和Linux上运行的Python程序中实现超时的最简单方法是什么?

python multithreading subprocess timeout

303
推荐指数
15
解决办法
26万
查看次数

Linux Shell脚本:如何检测NFS挂载点(或服务器)已经死了?

通常在NFS客户端上,如何通过使用Bash Shell脚本来检测服务器端Mounted-Point或DEAD

通常我这样做:

if ls '/var/data' 2>&1 | grep 'Stale file handle';
then
   echo "failing";
else
   echo "ok";
fi
Run Code Online (Sandbox Code Playgroud)

但问题是,当特别是NFS服务器完全死机或停止时,即使是ls命令,在客户端进入该目录也会被绞死或死亡.手段,上面的脚本不再可用.

有没有办法再次检测到这个?

linux bash shell nfsclient nfs

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

bash ×1

linux ×1

multithreading ×1

nfs ×1

nfsclient ×1

python ×1

shell ×1

subprocess ×1

timeout ×1