相关疑难解决方法(0)

如何在Windows CMD中的一行中运行两个命令?

我想在Windows CMD控制台中运行两个命令.

在Linux中,我会这样做

touch thisfile ; ls -lstrh
Run Code Online (Sandbox Code Playgroud)

它是如何在Windows上完成的?

windows command-line cmd batch-file

861
推荐指数
12
解决办法
83万
查看次数

linux命令末尾的"&"是什么意思?

我是系统管理员,我被要求运行linux脚本来清理系统.

命令是这样的:

perl script.pl > output.log &
Run Code Online (Sandbox Code Playgroud)

所以这个命令以&符号结尾,有什么特别的意义吗?

我有shell的基本知识,但我以前从未见过这个.

unix linux shell

75
推荐指数
3
解决办法
15万
查看次数

子进程优于os.system的优点

我最近遇到了一些有关堆栈溢出的帖子,说子进程比os.system好得多,但是我很难找到确切的优点.

我遇到的一些例子:https: //docs.python.org/3/library/os.html#os.system

"子进程模块提供了更强大的工具来生成新进程并检索其结果;使用该模块比使用此函数更可取."

不知道它在哪些方面更强大,我知道在很多方面使用子进程更容易,但实际上它在某种程度上更强大吗?

另一个例子是:

/sf/answers/6247041/

子进程系统的优点是它更灵活(你可以得到stdout,stderr,"真正的"状态代码,更好的错误处理等等).

这篇帖子有2600多张选票.再一次找不到更好的错误处理或真实状态代码意味着什么.

该帖子的最高评论是:

无法理解为什么你使用os.system即使是快速/脏/一次性.子进程看起来好多了.

同样,我理解它使一些事情稍微容易些,但我几乎无法理解为什么例如:

subprocess.call("netsh interface set interface \"Wi-Fi\" enable", shell=True)
Run Code Online (Sandbox Code Playgroud)

比任何更好

os.system("netsh interface set interface \"Wi-Fi\" enabled")
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释一些它更好的原因吗?

python subprocess os.system

11
推荐指数
2
解决办法
5988
查看次数

Python:如何启动完整进程而不是子进程并检索PID

我想要:

  1. 从我的进程(myexe.exe arg0)启动一个新进程(myexe.exe arg1)
  2. 检索这个新进程的PID(os windows)
  3. 当我使用TaskManager Windows命令"结束进程树"杀死我的第一个实体(myexe.exe arg0)时,我需要新的(myexe.exe arg1)不会被杀死...

我玩过subprocess.Popen,os.exec,os.spawn,os.system ......但没有成功.

另一种解释问题的方法:如果有人杀死了myexe.exe(arg0)的"进程树",如何保护myexe.exe(arg1)?

编辑:同样的问题(没有答案)在这里

编辑:以下命令不保证子进程的独立性

subprocess.Popen(["myexe.exe",arg[1]],creationflags = DETACHED_PROCESS | CREATE_NEW_PROCESS_GROUP,close_fds = True)
Run Code Online (Sandbox Code Playgroud)

python windows process

10
推荐指数
2
解决办法
7818
查看次数