c - 从后台进程捕获控制台输出
问题描述
我有一个在 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 重新附加。
推荐阅读
- node.js - 登录nodejs后显示个人资料信息
- javascript - 如何使用 Javascript、CSS 和 HTML 加快移动设备的滑动和滚动速度?
- javascript - Electron:在与 index.js 不同的 javascript 中调用函数
- android - 找不到 com.android.tools.build:aapt2:3.2.0-4818971
- php - 我的谷歌密钥在距离矩阵中未被识别
- gulp - 使用 gulp 将 es6 脚本转换为 JS
- javascript - 刷新前在 Chrome 控制台中不可见的脚本,适用于 Firefox
- javascript - 通过参数传递从 Javascript 调用 C# 服务器端
- python - BeautifulSoup 循环没有遍历其他节点
- python - 查询表的多对多字段值