- 论坛徽章:
- 3
|
如题,标题可能有点词不达意。
大概是这样。现在在linux下编译程序生成可执行文件test。
用SeccureCRT登录的linux机器。我在命令行用./test启动程序test之后,它在命令行输出一些字符串,然后就一直占据着命令行。如果把那个界面关了,test的进程也被关了。
看了下main函数里,在进行完一系列操作之后往屏幕上输出一些字符串,之后程序走进一个死循环,循环体内代码的作用是判断kill信号,当收到kill信号就执行exit(0)退出程序。问题就是这个死循环就让test启动之后一直占据着命令行。走不到下面的return 0;
我在想如果把这个死循环屏蔽掉的话,代码往下走到return 0;的话程序是不是也就自动退出了。我想要实现的是输出完字符串后程序就不再占据命令行,即命令行能够继续敲命令,程序在进程里继续运行着。
代码大致如下:
int main(int argc, char **argv)
{
.... //一些代码实现 里面会输出一些字符串
for(;;)
{
.... //检测终止信号的代码,检测到后即执行exit(0)
}
return 0;
}
如果实现程序启动后输出完字符串即不占据命令行转而在进程中运行这个效果,该怎么来修改我的代码呢?对linux下的c++编程了解不是太多,希望知道的帮我解答一下疑惑,不要嫌我的问题太低级啊,tks! |
|