如何查看守护进程';Linux中的输出?
我写了一个测试。c:如何查看守护进程';Linux中的输出?,linux,tty,Linux,Tty,我写了一个测试。c: #include <unistd.h> #include <stdio.h> int main() { while(1) { sleep(1); printf("====test====\r\n"); } return 0; } 然后我让这个脚本在系统启动时自动执行。 然后我使用SSH协议中的secureCRT登录到Linux系统。 使用“ps aux | grep测试”,我可以看到
#include <unistd.h>
#include <stdio.h>
int main()
{
while(1)
{
sleep(1);
printf("====test====\r\n");
}
return 0;
}
然后我让这个脚本在系统启动时自动执行。
然后我使用SSH协议中的secureCRT登录到Linux系统。
使用“ps aux | grep测试”,我可以看到测试过程正在运行,
但是我就是看不到测试的输出,有人告诉我,因为测试
输出到tty,我正在使用pts。
有人能告诉我具体的原因吗?我怎样才能得到输出?
提前谢谢 它没有输出任何内容,因为它没有连接终端 如果希望连接到系统的每个终端都能看到输出,请使用
wall
./test | wall
(这会很烦人)
我建议您将输出重定向到日志文件。它没有输出任何内容,因为它没有连接终端 如果希望连接到系统的每个终端都能看到输出,请使用
wall
./test | wall
(这会很烦人)
我建议您将输出重定向到日志文件。FYI,不要使用
test
,因为它是一个shell函数的名称。为什么要编写一个shell脚本,它只调用另一个应用程序?确切地说,如何启动“守护程序”?真正的守护进程不会写入stdout(或stderr,或从stdin读取),因为它没有连接到控制台。通常的行为是写入日志文件。您必须将输出(stderr和stdout)重定向到一个文件。顺便说一句,通过shell在程序调用的名称后面添加&并不构成守护进程。请看一下fork
,setsid
,等等。谢谢,我阅读了APUE中的章节,现在我了解了更多关于守护进程的信息!仅供参考,不要使用test
,因为它是一个shell函数的名称。为什么要编写一个shell脚本,它除了调用另一个应用程序之外什么都不做?确切地说,如何启动“守护进程”?真正的守护进程不会写入stdout(或stderr,或从stdin读取),因为它没有连接到控制台。通常的行为是写入日志文件。您必须将输出(stderr和stdout)重定向到一个文件。顺便说一句,通过shell在程序调用的名称后面添加&并不构成守护进程。请看一下fork
,setsid
,等等。谢谢,我阅读了APUE中的章节,现在我了解了更多关于守护进程的信息!