linux - 我想在杀死 -9 <PID> 时将 "<PID> Killed ~"输出到日志文件

标签 linux bash kill

我想输出这条消息/usr/local/ex1.sh: line xxx: <PID> Killed ex2.sh >> $LOG_FILE 2>&1到日志文件。

但是

“ex1.sh”输出/usr/local/ex1.sh: line xxx: <PID> Killed ex2.sh >> $LOG_FILE 2>&1当我执行 ex1.sh 时到控制台在控制台中。

我想要的结果是“ex1.sh”输出到文件,而不是输出到控制台。

此源是“ex1.sh”。

ex2.sh >> $LOG_FILE 2>&1 &
PID=`ps -ef | grep ex2.sh | grep -v grep | gawk '{print $2}'`
/bin/kill -9 $PID >> $LOG_FILE 2>&1 &

为什么“ex1.sh”会将此消息输出到控制台?

最佳答案

原因是这条消息'/usr/local/ex1.sh: line xxx: <PID> Killed ex2.sh >> $LOG_FILE 2>&1bash shell 给出,而不是由 kill 给出命令。

所以如果你重定向kill命令输出到文件,您将不会在文件中收到消息。

如果像 ./ex1.sh >> $LOG_FILE 2&>1 那样运行,该消息将保存在日志文件中。因为./ex1.sh fork 一个新的 bash 进程,bash 进程会发出消息。

关于linux - 我想在杀死 -9 <PID> 时将 "<PID> Killed ~"输出到日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54088054/

相关文章:

linux - 如何在 debian linux 中降级 gcc?

linux - 如果设备是 ext4,如何将 block 号映射到 vm.block_dump=1 产生的 dmesg 输出中的文件名?

bash - 什么是间接扩张? ${!var*} 是什么意思?

ubuntu - 如何在ubuntu上的端口上杀死进程

iOS 开发 : Is there ever a time when it's appropriate for an app to kill itself?

c - 如何从 simple_strtol() 获取错误状态? (在 C 中将字符串转换为 int)

linux - 关于 pthread_barrier_wait

bash - 附加日期的文件名有问题 -shell 脚本

linux - bash:如果 fluxbox 中的热键调用命令,如何让 xsel -o 粘贴到焦点窗口

Windows cmd : How to find and kill . 运行并使用 wscript 隐藏的 bat 文件?