从后台进程捕获控制台输出

问题描述

我有一个在 armbian 单板计算机上运行的程序。该程序在系统启动期间以 -b 选项启动。我创建了这个简单的 shell 脚本

#!/bin/bash
#Myprog server start
sudo -b /home/myprog/myprog

这个程序是用C语言写的,它有时会用printf函数输出一些信息。但是因为它是用 -b 选项开始的,所以在控制台中没有注释。 现在,当我使用 Putty 通过 ssh 登录到 armbian 时,我想偶尔读取该程序的输出。甚至有可能吗?

解决方法

不完全是您要问的,但一般来说,将输出重定向到日志文件比尝试以交互方式查看后台应用的控制台输出更好。

类似于:

sudo -b /home/prog/myprog >> /home/prog/log.txt 2>&1

应该这样做。

然后用

查看输出
 tail -f /home/prog/log.txt

如果在没有日志的情况下以交互方式运行对您来说真的很重要,我建议您从“屏幕”内运行它而无需后台运行。

  screen
  sudo /home/prog/myprog

然后 ctrl-d 分离并让它在后台运行。 screen -r 重新附加。