Привет, я пытаюсь использовать python fork и execl, чтобы создать новый процесс bash и удалить каталог 'temptdir'.
Я написал следующий код:
import os
pid = os.fork()
if pid == 0:
os.execl('/bin/rm', 'rm-rf', 'temptdir') # temptdir is a directory in home folder.
Я ожидаю, что он создаст новый процесс bash и запустит следующую команду в bash:
rm -rf temptdir
иудалите каталог temptdir, но он показывает мне:
rm-rf: temptdir: is a directory
Есть идеи, почему он не удаляет каталог?Кроме того, как это исправить?
Наконец, в документах Python Fortmat команды python execl указывается так:
execl( path, arg0, arg1, ...)
, но если я запускаю:
os.execl('/bin/echo','hello')
ничего не печатает. Почему я должен добавить дополнительный аргумент 'echo' , например:
os.execl('/bin/echo','echo','hello')