subprocess.call()
またはを使用してシェル スクリプトを実行しようとするとos.system()
、スクリプトは実行されますが、Python スクリプトも終了し、呼び出しの後に記述されたすべてが実行されません。ライブラリからこの呼び出しをインポートし、別の python スクリプトを使用して実行または実行しようとしましたexecfile()
が、そこでも同じことが起こりました。私のシステムに何か問題がありますか、それともこれが本来あるべき状態ですか? 後者の場合、このサブプロセス/システム呼び出しを行った後、これを停止して Python スクリプトを実行し続けるにはどうすればよいですか?
shushens@P600:~/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"])
shushens@P600:~/Desktop$
これはシェルスクリプトです:
export <SOMEPATHNAME>=/some/path/here
exec $SHELL -i
exec $SHELL -i
その特定のシェルで実行されているすべてのプログラムを終了させているのは、 だと思います。しかし、他にどのような選択肢があるのか わかりません。使わないとexport
動かない。現在、エクスポートしたいパスは exporting ですが、Python プロセスはそれに伴って終了します。
前もって感謝します!