当前位置: 技术问答>linux和unix
RedHat开发问题
来源: 互联网 发布时间:2015-09-30
本文导语: 我在RedHat 9上开发了一个程序,一切正常,客户是Redhat 7.2的环境,当我把程序放上去重新编译,编译通过运行的时候出现问题:原来正常的程序现在一次起了十四个进程,如下: root 1194 1 0 10:40 ? ...
我在RedHat 9上开发了一个程序,一切正常,客户是Redhat 7.2的环境,当我把程序放上去重新编译,编译通过运行的时候出现问题:原来正常的程序现在一次起了十四个进程,如下:
root 1194 1 0 10:40 ? 00:00:00 ./AuthGate
root 1195 1194 0 10:40 ? 00:00:00 ./AuthGate
root 1196 1195 0 10:40 ? 00:00:00 ./AuthGate
root 1197 1195 0 10:40 ? 00:00:00 ./AuthGate
root 1198 1195 0 10:40 ? 00:00:00 ./AuthGate
root 1199 1195 0 10:40 ? 00:00:00 ./AuthGate
root 1200 1195 0 10:40 ? 00:00:00 ./AuthGate
root 1201 1195 0 10:40 ? 00:00:00 ./AuthGate
root 1202 1195 0 10:40 ? 00:00:00 ./AuthGate
root 1203 1195 0 10:40 ? 00:00:00 ./AuthGate
root 1204 1195 0 10:40 ? 00:00:00 ./AuthGate
root 1205 1195 0 10:40 ? 00:00:00 ./AuthGate
root 1206 1195 0 10:40 ? 00:00:00 ./AuthGate
root 1207 1195 0 10:40 ? 00:00:00 ./AuthGate
因为我的程序是多线程的,因此怀疑是创建线程的时候创建了进程,因此出现了这么多的进程。是不是函数有区别还是什么问题,我用的就是CreateThread,希望高人指点。
root 1194 1 0 10:40 ? 00:00:00 ./AuthGate
root 1195 1194 0 10:40 ? 00:00:00 ./AuthGate
root 1196 1195 0 10:40 ? 00:00:00 ./AuthGate
root 1197 1195 0 10:40 ? 00:00:00 ./AuthGate
root 1198 1195 0 10:40 ? 00:00:00 ./AuthGate
root 1199 1195 0 10:40 ? 00:00:00 ./AuthGate
root 1200 1195 0 10:40 ? 00:00:00 ./AuthGate
root 1201 1195 0 10:40 ? 00:00:00 ./AuthGate
root 1202 1195 0 10:40 ? 00:00:00 ./AuthGate
root 1203 1195 0 10:40 ? 00:00:00 ./AuthGate
root 1204 1195 0 10:40 ? 00:00:00 ./AuthGate
root 1205 1195 0 10:40 ? 00:00:00 ./AuthGate
root 1206 1195 0 10:40 ? 00:00:00 ./AuthGate
root 1207 1195 0 10:40 ? 00:00:00 ./AuthGate
因为我的程序是多线程的,因此怀疑是创建线程的时候创建了进程,因此出现了这么多的进程。是不是函数有区别还是什么问题,我用的就是CreateThread,希望高人指点。
|
在Linux中所谓线程,与进程的唯一区别,即是否与父进程共享mm_struct,
线程的创建就是进程调用clone()来实现的,分配task_struct,其mm_struct指向父进程的地址空间。
线程的创建就是进程调用clone()来实现的,分配task_struct,其mm_struct指向父进程的地址空间。
|
Linux 对待线程和对待进程很相近,没有十分严格的区分
|
这种方式创建的是轻量级进程,线程与进程区分得并不是很明确