無論何時我試圖運行使用subprocess.call()
或os.system()
的shell腳本,腳本都會運行,但Python腳本也會終止,並且在調用之後編寫的所有內容都不會執行。我曾嘗試從庫中導入此調用,並使用execfile()
從單獨的python腳本運行或執行它,但同樣的事情也發生在那裏。我的系統有什麼問題嗎?或者它是這樣的?如果是後者,那麼我應該如何阻止這個並且在進行這個子進程/系統調用之後讓我的Python腳本繼續運行?如何阻止子進程終止我的腳本?
[email protected]:~/Desktop$ python
Python 2.7.2+ (default, Oct 4 2011, 20:03:08)
[GCC 4.6.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import subprocess
>>> subprocess.call(["sh","test.sh"])
[email protected]:~/Desktop$
這是shell腳本:
export <SOMEPATHNAME>=/some/path/here
exec $SHELL -i
我認爲這是導致在那個特定的外殼終止運行的所有程序的exec $SHELL -i
。但我不知道我有什麼其他的選擇。如果我不使用它,export
不起作用。目前,我想要導出的路徑是導出,但是Python進程隨之一起終止。
在此先感謝!
顯示您的腳本。您可能不會遇到發生的異常。 – marue 2012-04-06 14:31:50
SHOW ... CODE。只有你知道這個問題的背景。我們其他人不知道你在嘗試什麼,結果如何。 – jdi 2012-04-06 14:32:31
對不起,添加它會延遲。我已經添加了代碼。 – 2012-04-06 14:44:25