完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
目前有一种方法是在程序后台启动的时候,直接重定向到某个shell或telnet。方法如下:
如tty命令查看目标shell为 /dev/pts/0 ./yourapp & > /dev/pts/0 & 如上,程序启动后后台运行,输出信息直接到目标shell。 现在想问问,程序已经在后台启动了,能不能不重新启动程序,将其输出信息重定向到目标shell,该如何实现? 各位大神,请帮忙。 |
|
相关推荐
1个回答
|
|
这个问题我也不懂,但是帮你找到了一篇文章:
blog点sinzy点net/ifyr/entry/22768 如何把一个正在运行中的程序放到后台去执行? 由于事先没有重定向输出到文件或者忘记使用screen、nohup一类的命令,然后进程又不方便停止,而且程序还有可能不会忽略所有挂断(SIGHUP)信号。 这时可以采用如下办法: 1、获得程序的进程号(PID) 2、使用gdb调试这个进程。(gdb -p xxx) 3、通过close系统调用关闭标准输出(STDOUT)或者标准错误(STDERR) 4、通过creat系统调用打开一个文件并将其文件描述符通过dup2系统调用复制给标准输出或者标准错误 5、退出调试器。 现在可以将程序通过“CTRL+z”, “bg”, “disown“放入后台运行了。 详细操作步骤如下 user:~ $ ps awux | grep [t]op user 4753 0.1 0.0 2308 1008 pts/2 S+ 17:44 0:00 top -b user:~ $ gdb -p 4753 GNU gdb (GDB) 7.0 ... 0xb776a424 in __kernel_vsyscall () (gdb) call close(1) $1 = 0 (gdb) call dup2(creat(”/tmp/log”, 0600), 1) $2 = 1 (gdb) quit |
|
|
|
只有小组成员才能发言,加入小组>>
「含关键代码」基于AM3352/AM3354/AM3359的Linux开发案例分享
4867 浏览 0 评论
87352 浏览 0 评论
【高手问答】如何做到精通linux技术?资深工程师带你突破难点
4673 浏览 2 评论
3565 浏览 2 评论
解读Linux :先从创建一个文件夹用来存放jdk压缩文件开始
2450 浏览 0 评论
1947浏览 3评论
这是i.mx6ull的关于usb的宏定义,能解释下这些宏定义的意思
1316浏览 1评论
1223浏览 1评论
求解:aarch64交叉编译工具已经安装成功,环境变量已经配置,怎么将系统架构切换为ARM的架构
1292浏览 0评论
电脑和虚拟机可以互ping,电脑和开发板也可以互ping,但是虚拟机和开发板ping不通是什么原因
1207浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 14:26 , Processed in 0.929427 second(s), Total 49, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号