如何让 ctrl-c 在 Makefile 中的 `timeout` 命令中工作?

问题描述 投票:0回答:1

如何使用 ctrl-c 使其可中断?

# Makefile
foo:
    timeout 1m bash -c "while true; do date; sleep 1; done"

GNU Make 4.3

makefile
1个回答
0
投票

您必须使用

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)。

© www.soinside.com 2019 - 2024. All rights reserved.