当前位置: 技术问答>linux和unix
c语言linux下能不能隐藏的运行一个shell,并且将shell结果全部写到文件中
来源: 互联网 发布时间:2017-04-14
本文导语: 我知道c语言写的模拟shell ,用fork和execvp。希望能不用进程,完成这个任务。。。 但是我的程序是多线程的。。。用fork就出问题。。。 | 多线程调用fork是不安全的,你可以看看这个函数pthread_...
我知道c语言写的模拟shell ,用fork和execvp。希望能不用进程,完成这个任务。。。
但是我的程序是多线程的。。。用fork就出问题。。。
但是我的程序是多线程的。。。用fork就出问题。。。
|
多线程调用fork是不安全的,你可以看看这个函数pthread_atfork。
或者fork进程后立刻exec,试试。
或者fork进程后立刻exec,试试。
|
多线程就不要去用fork了,内存地址空间的共享方式不一样。既然你是多线程,再起一线程去执行shell比较合适,也比较可控。