Я использую Python 2.7питон подпроцесс дать TypeError
cmd = "sudo start service/newservice db=temp"
p = subprocess.Popen(shlex.split(cmd), stderr=subprocess.STDOUT)
Над командой работает отлично и intented процесс породил.
cmd = "sudo stop service/newservice db=temp"
p = subprocess.Popen(shlex.split(cmd), stderr=subprocess.STDOUT)
В том же файле, если указано выше. Это дает ошибку.
traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/subprocess.py", line 672, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1213, in _execute_child
raise child_exception
TypeError: must be encoded string without NULL bytes, not str
Возможно, вы можете попробовать остановить первый процесс с python, вместо запуска другого процесса, чтобы убить первого. см. эту ссылку для получения дополнительной информации: http://stackoverflow.com/questions/4084322/killing-a-process-created-with-pythons-subprocess-popen – symbiotech
может быть каким-то странным символом, вставленным туда, см. это: http: // stackoverflow.com/questions/15203106/wxpython-how-do-we-remove-null-byte-from-string-when-using-textcontrol-getvalue – symbiotech
Как выглядит 'cmd' с помощью' print (repr (cmd)) '? – glglgl