我有一个第三方 Python 脚本可以使用 nohup 在后台运行。我不想将输出通过管道传输到文件,而是希望使用以下命令将输出附加到系统日志中:记录器。除此之外,我需要使用优先级“user.error”和常规输出“user.notice”来记录错误输出。这样我确信至少错误会在日志中弹出。
运行一个简单的命令而不使用 nohup 似乎可以工作:
ls /tmp 1> >(logger --priority user.notice --tag myTag) 2> >(logger --priority user.error --tag myTag)
然而运行 /w nohup 会产生意想不到的结果
nohup sh -c ls /tmp 1> >(logger --priority user.notice --tag myTag) 2> >(logger --priority user.error --tag myTag) &
日志将包含“nohup:忽略输入”,有时甚至包含空条目。
有人可以帮我正确编写这个命令吗?
答案1
您正在将的输出重定向nohup
到记录器。要重定向(或您的 Python 脚本)的输出ls
,您可以使用命令替换:
nohup sh -c $(ls /tmp 1> >(logger --priority user.notice --tag myTag) 2> >(logger --priority user.error --tag myTag)) &