当前位置: 技术问答>linux和unix
如何在C中既能读取到shell的执行结果,又能在必要时kill掉shell的进程
来源: 互联网 发布时间:2015-12-20
本文导语: 我在uclinux下写了一个下载程序,需要在屏幕上显示下载进度,又可以中止当前下载。 fd = popen("wget xxxxx -O xxxxxxx 2>&1 && mv xxxxxxx xxxxxxxxxx", "r"); 用fgets()可以读到wgep输出的进度,但是要停止...
我在uclinux下写了一个下载程序,需要在屏幕上显示下载进度,又可以中止当前下载。
fd = popen("wget xxxxx -O xxxxxxx 2>&1 && mv xxxxxxx xxxxxxxxxx", "r");
用fgets()可以读到wgep输出的进度,但是要停止下载时,没有PID,无法kill。
下载时用ps看以看到多了3个名为“[sh]”的进程,这3个都要kill吗?如何确定谁是谁?
kill后会对fgets有什么影响呢,会有异常吗?
请高手指点.
fd = popen("wget xxxxx -O xxxxxxx 2>&1 && mv xxxxxxx xxxxxxxxxx", "r");
用fgets()可以读到wgep输出的进度,但是要停止下载时,没有PID,无法kill。
下载时用ps看以看到多了3个名为“[sh]”的进程,这3个都要kill吗?如何确定谁是谁?
kill后会对fgets有什么影响呢,会有异常吗?
请高手指点.
|
你应该研究一下进程调用库,应该有这些操作方面的库函数的。
|
直接kill掉父进程不就行了么