Python内からUnixコマンドを実行したいことがよくありますが、最近、一部のコマンドが見つからないことがわかりました。例は「limit」コマンドです。
$ echo $SHELL
/bin/tcsh
$ limit vmemoryuse 1000m
$ python
Python 2.7.3 (default, Aug 3 2012, 20:09:51)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-50)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.system("echo $SHELL")
/bin/tcsh
0
>>> os.system("limit vmemoryuse 1000m")
sh: limit: command not found
32512
>>>
もう1つの例は、「setenv」コマンドです。これらのコマンドがPython内で機能しないのはなぜですか?「os」モジュールと「subprocess」モジュールの両方を使用しようとしましたが、成功しませんでした。Python内からこれらのコマンドを正常に呼び出すことができる別のモジュールまたはメソッドを知っている人はいますか?