Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 尝试crontab命令时调用的进程错误_Python_Unix_Subprocess - Fatal编程技术网

Python 尝试crontab命令时调用的进程错误

Python 尝试crontab命令时调用的进程错误,python,unix,subprocess,Python,Unix,Subprocess,我有一个简单的脚本,它使用subprocess.check_输出来运行crontab命令。但是,当我为crontab执行脚本时,它返回的退出代码为1,如果我打印错误输出,它将不会为用户打印crontab,这是它应该打印的内容,而不会进入错误模式 这是我的剧本: import subprocess try: string = subprocess.check_output(['crontab','-l']) print "Yes! " p

我有一个简单的脚本,它使用subprocess.check_输出来运行crontab命令。但是,当我为crontab执行脚本时,它返回的退出代码为1,如果我打印错误输出,它将不会为用户打印crontab,这是它应该打印的内容,而不会进入错误模式

这是我的剧本:

import subprocess

    try:

        string = subprocess.check_output(['crontab','-l'])
        print "Yes! "
        print string
    except subprocess.CalledProcessError as e:
        print e.output
奇怪的是,如果我运行ls-l而不是crontab-l,那么一切都会按预期运行,我会得到想要的输出。但是,一旦运行crontab-l,如果删除print e.output,我会得到以下结果:

Traceback (most recent call last):
  File "python1.py", line 3, in <module>
    string = subprocess.check_output(['crontab','-l'])
  File "/usr/lib/python2.7/subprocess.py", line 544, in check_output
    raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command '['crontab', '-l']' returned non-zero exit status 1
正如我前面提到的,e.output不会为用户生成crontab,但这不应该作为错误返回,它应该作为正常输出返回。我是不是遗漏了什么