示例代码:
import subprocess
subprocess.call(['java', '-jar', 'temp.jar'])
如何在上述命令中指定JAVA_OPTS?使用上述命令时,出现“java.lang.OutOfMemoryError:无法创建新的本机线程”,我认为在命令中指定JAVA_OPTS将解决此问题。
我确实在.bashrc文件中指定了JAVA_OPTS,它没有任何作用。
参考方案
您可以执行此操作,但是在文档中找到如何执行此操作有点像大白鹅。
subprocess.call() documentation说,
subprocess.call(args, *, stdin=None, stdout=None, stderr=None, shell=False)
上面显示的参数只是最常见的参数,下面在Frequently Used Arguments中进行了描述(因此缩写签名中的符号略有奇怪)。
然后在描述了一堆其他参数之后,Frequently Used Arguments部分最后说:
这些选项以及所有其他选项在 Popen 构造函数文档中有更详细的描述。
好吧! Popen 文档提供了完整的签名:
class subprocess.Popen(args, bufsize=0, executable=None, stdin=None, stdout=None, stderr=None, preexec_fn=None, close_fds=False, shell=False, cwd=None, env=None, universal_newlines=False