可以使用 "kill" 作为结束进程的标准方式吗?
Is it ok to use "kill" as a standard-way to end processes?
我想使用 vlc 循环播放视频,直到操作完成。我的想法是做这样的事情:
vlc -f --loop loopvideo.mpg
[do some other stuff]
if (finished)
killall vlc
fi
来自windows 最初我仍然觉得杀死一个进程是一件很糟糕的事情,只有当某些东西崩溃时你才会这样做。在 *Nix 系统上是否有 "cleaner" 方法而不是 "kill"-命令,或者这很好吗?
kill
很好,默认情况下它应该向进程发送一个信号要求它终止。如果您愿意,可以使用 killall -s TERM vlc
来确定这一点。该进程应该拦截信号并优雅地自行关闭。
真正终止进程需要发送 KILL
而不是 TERM
。该信号被发送到操作系统而不是进程,因此 O/S 实际上会停止进程而不等待进程清理。您可能已经看到此命令的较短形式 kill -9 <pid>
,其中 -9
= -KILL
我想使用 vlc 循环播放视频,直到操作完成。我的想法是做这样的事情:
vlc -f --loop loopvideo.mpg
[do some other stuff]
if (finished)
killall vlc
fi
来自windows 最初我仍然觉得杀死一个进程是一件很糟糕的事情,只有当某些东西崩溃时你才会这样做。在 *Nix 系统上是否有 "cleaner" 方法而不是 "kill"-命令,或者这很好吗?
kill
很好,默认情况下它应该向进程发送一个信号要求它终止。如果您愿意,可以使用 killall -s TERM vlc
来确定这一点。该进程应该拦截信号并优雅地自行关闭。
真正终止进程需要发送 KILL
而不是 TERM
。该信号被发送到操作系统而不是进程,因此 O/S 实际上会停止进程而不等待进程清理。您可能已经看到此命令的较短形式 kill -9 <pid>
,其中 -9
= -KILL