日期:2014-05-16  浏览次数:20656 次

呼唤大牛,大牛降临护乎!!!(linux,开启进程问题)
我写了一个服务程序,用于管理另外一个程序,其中一个功能就是开启那个程序,我用的是system()。在我开启这个程序之后,我就把我的服务程序关闭,然后开启的那个程序就监听了服务程序的 10000端口(服务程序是监听10000的,开启的程序只监听8082),这是怎么回事?

------解决方案--------------------
可以想到的是...你的端口配置错了..
------解决方案--------------------
有什么疑惑?

另外system调用会wait子进程,你这样关掉父进程显得很不专业,你可以自己fork+exec+exit,不需要wait了,让init收留子进程即可。

另外端口的问题你说的再具体点,什么监听两端口,你的监管程序还监听了?
------解决方案--------------------
在你的服务程序中首先关闭使用的socket描述符,再system()