几乎每次sudo pkill -f tor
启动时都以 root 身份运行。我丢失了当前和未来窗口的所有框架(无框架)。我注意到 Ubuntu 的行为往往很奇怪(无法准确定义),以至于重新启动(没有尝试注销和登录)对我来说似乎是更好的选择。我不认为这是造成tor
这种情况的原因,但我是根据观察说的。
这背后的原因是什么?
答案1
您可能无意中终止了进程。-f
完整命令行上的选项匹配:
The pattern is normally only matched against the process name.
When -f is set, the full command line is used.
要查看您实际正在终止的进程,请执行以下操作:
ps wwuxa |grep [t]or
实际匹配结果pkill
与 相同。比较和pgrep
返回的 PID 。pgrep tor
pgrep -f tor
您将看到许多进程;由于您使用 运行pkill
,sudo
这意味着您终止了所有这些进程。我猜是gtk-window-decorator
导致您描述的框架问题的进程。其余奇怪的行为是由于其他系统进程也死亡了。
在这种情况下,由于“tor”匹配多个系统进程,因此您应该指定更严格的正则表达式,而不是使用-f
。这可能会有效:
pgrep ^tor$
不要使用 -f,并确保它只匹配一个进程,并且该进程确实是 tor。一旦您满意,您就可以pkill
代替pgrep
。
最后,我不熟悉 tor,但也许在文档的某个地方你可以找到更正确的方法来关闭它。
答案2
您的pkill
调用会终止命令行中包含该字符串的所有进程tor
(例如monitor
或navigator
或calculator
等)。因此,我猜您还会终止重要的进程,最终导致系统不稳定。
我建议使用以下方法停止 Tor:
sudo service tor stop
或者
sudo /etc/init.d/tor stop