【问题标题】:How to redirect the output of csh script that runs in background如何重定向在后台运行的 csh 脚本的输出
【发布时间】:2016-10-21 12:08:47
【问题描述】:

我正在并行运行多个 csh 脚本(每个脚本需要 2 个参数),它们在后台执行了很多有趣的事情(细节对我的问题并不重要)。到目前为止,我将它们运行为:

my_script arg1 arg2 &
my_script arg3 arg4 & 
...

这很好用,但我希望每次运行脚本都将其标准输出重定向到日志文件中。如果我执行以下命令效果很好:

my_script arg1 arg2 >! somefile.log

问题是我需要并行运行至少 5 个这些脚本(每个脚本的背景)。当我尝试以下顺序时,作业被分派但报告为“暂停(tty 输出)”并且日志文件未更新:

my_script arg1 arg2 >! somefile.log &
my_script arg3 arg4 >! somefile1.log &
my_script arg5 arg6 >! somefile2.log &
....

对此问题的任何想法。哦......我也忘了提到我需要使用 CSH,不幸的是我无法切换到 bash 或其他任何东西。

非常感谢!

【问题讨论】:

  • 您是否尝试过使用nohup 和标准输出重定向">&" 运行?
  • 是的,我已经尝试了两个选项,结果仍然相同。谢谢!

标签: shell unix csh


【解决方案1】:

请尝试

nohup my_script arg1 arg2 < /dev/null >! somefile.log &

你也可以试试

stty -tostop

管理终端模式

【讨论】:

  • @Birbal : 哪个技巧(或两者都适用)对你有用?祝大家好运。
  • 第一个选项有效...我没有尝试第二个
猜你喜欢
  • 1970-01-01
  • 2016-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-05
相关资源
最近更新 更多