【发布时间】:2015-11-25 07:11:37
【问题描述】:
我已经通过命令python -m SimpleHTTPServer 9001 启动了一个 SimpleHTTPServer。
我想停止它而不必强制退出终端。停止它所需的按键是什么?
【问题讨论】:
我已经通过命令python -m SimpleHTTPServer 9001 启动了一个 SimpleHTTPServer。
我想停止它而不必强制退出终端。停止它所需的按键是什么?
【问题讨论】:
CTRL + C 通常是终止进程并使终端保持打开状态的正确方法。
【讨论】:
使用 CTRL+C。
这是一个填充文本,因为答案必须是 30 个字符。
【讨论】:
同意 Ctrl-C 的答案。请注意,按 Ctrl-C 会发送“中断”信号(信号编号 2)。
您也可以使用 TERM 信号来终止您的服务器进程。
您可以发送“INT”或“TERM”信号来请求终止。通常,所有好的程序都尊重 int 和 term 信号并进行清理。
要正确终止进程,请运行
kill -2 <pid>
kill -15 <pid>
或
kill -INT <pid>
kill -TERM <pid>
SIGINT 和 SIGTERM 有所不同。来自this quora article,
SIGINT 是中断信号。当用户按下 ctrl-c 时,终端将其发送到前台进程。默认行为是终止进程,但它可以被捕获或忽略。目的是提供一种有序、优雅的关机机制。
SIGTERM 是终止信号。默认行为是终止进程,但它也可以被捕获或忽略。目的是终止进程,无论是否优雅,但首先要让它有机会进行清理。
因此,根据您的需要使用正确的信号。
【讨论】: