如何使用 ctrl-c 使其可中断?
# Makefile
foo:
timeout 1m bash -c "while true; do date; sleep 1; done"
GNU Make 4.3
您必须使用
timeout
选项运行 --foreground
;请参阅手册页:
--foreground
when not running timeout directly from a shell prompt,
allow COMMAND to read from the TTY and get TTY signals; in this
mode, children of COMMAND will not be timed out
由于您是从 makefile 内部运行
timeout
,而不是直接从 shell 提示符,因此您需要它来允许它接收 TTY 信号(如 CTRL-C)。