我正在编写一个以特定顺序使用一堆 bash 调用的管道。
如何判断我的命令是否引发错误?
例如,我正在运行一个带有子进程的 Java 程序,当这个进程出错时它不会警告我或退出。
subprocess我的process对象中或对象中是否有具有此实用程序的东西?
process = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
process.wait()
当我尝试来自Python的建议:“subprocess.Popen”检查成功和错误时,我收到以下错误:
In [6]: subprocess.check_call(process)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-6-f8f8752a245f> in <module>
----> 1 subprocess.check_call(process)
~/anaconda/envs/µ_env/lib/python3.6/subprocess.py in check_call(*popenargs, **kwargs)
284 check_call(["ls", "-l"])
285 """
--> 286 retcode = call(*popenargs, **kwargs)
287 if retcode:
288 cmd = kwargs.get("args")
~/anaconda/envs/µ_env/lib/python3.6/subprocess.py in call(timeout, *popenargs, **kwargs)
265 retcode = call(["ls", "-l"])
266 """
--> 267 with Popen(*popenargs, **kwargs) as p:
268 try:
269 return p.wait(timeout=timeout)
~/anaconda/envs/µ_env/lib/python3.6/subprocess.py in __init__(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, encoding, errors)
707 c2pread, c2pwrite,
708 errread, errwrite,
--> 709 restore_signals, start_new_session)
710 except:
711 # Cleanup if the child failed starting.
绝地无双
相关分类