python - subprocess.call() 的返回值是多少?

标签 python linux

我不确定 subprocess.call() 的返回值是什么意思。

  • 我可以安全地假设零值总是意味着命令执行成功吗?

  • 返回值是否等同于 shell 命令的退出状态?

例如,以下代码对 Linux 上的几乎所有命令都有效吗?

 cmd = "foo.txt > bar.txt"
 ret = subprocess.call(cmd, shell=True)
 if ret != 0:
     if ret < 0:
         print "Killed by signal", -ret
     else:
         print "Command failed with return code", ret
 else:
     print "SUCCESS!!"

请赐教:-)

最佳答案

是的,Subprocess.call 返回“实际进程返回码”。

您可以查看Subprocess.call的官方文档和 Subprocess.Popen.returncode

关于python - subprocess.call() 的返回值是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1696998/

相关文章:

python - 使用 Python pysftp 使用 key 文件连接到 SFTP

python - 如何在 django 的 python 中将日期时间转换为字符串

python - 如何从 Pig 加载/导出 CSV/TSV 文件到 Pandas?

linux - GCC 警告 FD_SET 调用上的符号转换

linux - 将一个多页 docx 文件拆分为多个单页 docx 文件

linux - 如何将此代码转换为 shell 脚本?

linux - 列出包含字符串但 *NOT* 包含另一个字符串的文件的 Unix 命令

python - 想在 python 中创建性格测试。如何为这个任务做函数?

python - Django:无效的 block 标记: 'static',预期为 'endif'

linux - 配置本地SVN