linux - 我想输出“杀死 ~" 当它杀死 -9 时记录到日志文件
问题描述
我想将此消息输出/usr/local/ex1.sh: line xxx: <PID> Killed ex2.sh >> $LOG_FILE 2>&1
到日志文件。
然而
/usr/local/ex1.sh: line xxx: <PID> Killed ex2.sh >> $LOG_FILE 2>&1
当我在控制台中执行时,“ex1.sh”输出到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>&1
是由bash shell给出的,而不是由kill
命令给出的。
因此,如果您将kill
命令输出重定向到文件,您将不会在文件中获得消息。
如果运行 like ./ex1.sh >> $LOG_FILE 2&>1
,消息将在日志文件中。因为./ex1.sh
fork 一个新的 bash 进程,所以 bash 进程会发出消息。
推荐阅读
- keycloak - keycloak 什么时候删除过期的会话?
- python - Telethon 不能在循环中使用 await 函数
- ethereum - 以太坊交易失败
- r - 累加 R 中每个可能组合的值
- javascript - 我有一个登录页面。我想在表单中添加多个操作,或者有另一种解决方案
- c# - 在窗体设计器中访问 UserControl 的 ImageCollection
- python - 如何在不中断先前播放的情况下在 gstreamer 中执行重新触发/重新启动示例
- javascript - React UseEffect 在页面刷新时不起作用
- javascript - 无法使用 Axios.put 从前端到后端获取变量
- qt - 从服务器 php 脚本返回西班牙语字符时出现 Qt 编码错误