Linux 中断执行并在终端中打印部分信息

Linux 中断执行并在终端中打印部分信息,linux,bash,shell,makefile,ocaml,Linux,Bash,Shell,Makefile,Ocaml,这个帖子是关于两个问题 我的makefile的一部分如下所示: list: all while IFS= read -r f; \ do \ ./analyze $$f & \ done < list.txt 然后,如果一个文件调用花费超过3秒,它将被停止,下一个文件将继续。在终端中,它显示了/bin/bash:line 8:kill:(2970)-对于小于3秒的呼

这个帖子是关于两个问题

我的
makefile
的一部分如下所示:

list:       all
            while IFS= read -r f; \
            do \
                ./analyze $$f & \
            done < list.txt
然后,如果一个文件调用花费超过3秒,它将被停止,下一个文件将继续。在终端中,它显示了
/bin/bash:line 8:kill:(2970)-对于小于3秒的呼叫,没有这样的进程,对于大于3秒的呼叫,
/bin/bash:line 9:2973终止。/analyze$f
。整个运行可以被
Ctrl+C
中断(虽然有几次),输出可以写入
output.txt

现在我意识到计时器不再是必要的。所以我的问题是:

1) 我如何在没有计时器的情况下修改
makefile
,或者修改
/analyze
的OCaml代码,从而中断它


2) 对于
makelist>output.txt
,在执行过程中,我怎么还能在终端上打印一些简单的信息,让我看到它的进展呢?

你需要去掉那个符号和字符:

list:       all
            while IFS= read -r f; \
            do \
                ./analyze $$f & <--- *** THIS ONE ***
            done < list.txt
列表:全部
而IFS=read-rf\
做\

./analyze$$f&对于第二个问题,
makelist | tee output.txt
以避免“没有这样的过程”错误:
sleep 3;kill-0$$PID&&kill$$PID
list:       all
            while IFS= read -r f; \
            do \
                ./analyze $$f & <--- *** THIS ONE ***
            done < list.txt