【问题标题】:How to supress stdout and stderr message when using pkill使用 pkill 时如何抑制 stdout 和 stderr 消息
【发布时间】:2021-07-08 16:33:19
【问题描述】:

我正在尝试杀死 ubuntu 18.04 中的某个进程,为此我正在使用 pkill 命令。但由于某种原因,我能够压制Killed 消息。
这是正在运行的进程。

# ps -a
    PID TTY          TIME CMD
   2346 pts/0    00:00:00 gunicorn
   2353 pts/0    00:00:00 sh
   2360 pts/0    00:00:00 gunicorn
   2363 pts/0    00:00:00 gunicorn
   2366 pts/0    00:00:00 ps

我试图终止进程并抑制日志

# 1st attempt
# pkill -9 gunicorn 2>&1 /dev/null
pkill: only one pattern can be provided
Try `pkill --help' for more information.

#2nd attempt (This killed process but got output `Killed` and have to press `enter` to get into command line)
# pkill -9 gunicorn > /dev/null
root@my-ubuntu:/# Killed

#3rd attempt(behavior similar to previous attempt)
# pkill -9 gunicorn 2> /dev/null
root@my-ubuntu:/# Killed

root@my-ubuntu:/#

我错过了什么?

【问题讨论】:

  • 重定向可能是>/dev/null 2>&1,意思是1>/dev/null 2>&1,写成2>&1 /dev/null/dev/null被当作一个参数(还要注意重定向顺序很重要)。否则>& /dev/null
  • @NahuelFouilleul 我也试过pkill -9 gunicorn >& /dev/null。但无法消除Killed 消息。
  • 相关:stackoverflow.com/questions/81520/…stackoverflow.com/questions/5719030/… 在子外壳 @9​​87654335@ 或当前外壳 @9​​87654336@
  • 顺便说一句,最好配置 gunicorn 来创建 pid 文件(添加选项 -p file.pid),然后通过该文件中的 pid 杀死它

标签: linux bash ubuntu


【解决方案1】:

我想你想要这个语法:

pkill -9 gunicorn &>/dev/null

&> 是 Bash(想想 4.0 ??)中一个较新的添加,它是重定向 stdout 和 stderr 的简写方式。

另外,您是否在启动 gunicorn 的同一终端会话中运行 pkill?我不认为pkill 会打印像“Killed”这样的消息,这让我想知道这是否来自其他进程......

您可以通过在终端中运行set +m 来抑制它(以禁用作业监控)。要重新启用,请运行 set -m

【讨论】:

  • gunicorn 作为后台进程工作。即使使用# pkill -9 gunicorn &>/dev/null,我也会得到Killed,并且如前所述,我有多个gunicorn 实例正在运行。这可能是原因。
  • 是的,这就是正在发生的事情。 gunicorn 或(更有可能)shell 正在产生该输出(我怀疑它是 gunicorn 的原因是因为您使用的是pkill -9,它不应该让进程有机会编写任何消息)
  • 是的。我观察到的一件事是,当我使用kill -9 $(ps ax | grep "gunicorn" | awk '{print $1}') 2> /dev/null 杀死进程时,我在重定向标准错误时没有收到被杀死的消息。
  • 我为这个答案添加了一个更新,我认为它会修复它。 Bash确实为后台进程生成“Killed”消息,但set +m 将禁止该通知(注意m 之前的“加号”而不是-
猜你喜欢
  • 1970-01-01
  • 2012-11-15
  • 1970-01-01
  • 2012-06-23
  • 1970-01-01
  • 1970-01-01
  • 2018-04-29
  • 2022-10-15
相关资源
最近更新 更多