【发布时间】:2015-06-16 21:52:39
【问题描述】:
在 bash 中
我运行以下终止命令(它只是一个带有返回进程 ID 的表达式的终止)
kill $(ps -ef | grep '[m]atchbox-panel --titlebar --start-applets showdesktop,windowselector' | cut -f8 -d' ')
返回类似的东西
kill 800
当我尝试在 C# 中运行它时
Process.Start("kill", "$(ps -ef | grep '[m]atchbox-panel --titlebar --start-applets showdesktop,windowselector' | cut -f8 -d' ')");
我收到一个致命错误。
替代方案
我可以一个接一个地运行所有命令,直到我得到数字并使用“kill”和“number”设置一个进程,但它的作用似乎很麻烦。
【问题讨论】:
-
要么将其提供给
bash运算符,要么您必须自己执行树。 -
$(..) 不在 Process.Start 参数中评估,这是 bash 的一个特性。你可以把你的命令分成两行,或者试试