今天对fork()这个函数有点感觉了,可以创建一个进程
下面是最简单的代码,输出结果是This is child process 和 This is process process 没有规律的交替出现,
说明两个进程在同一个时间段你分别得到了运行的机会.
void main(){
int i;
if ( fork() == 0 )
{
/* 子进程程序 */
for ( i = 1; i <1000; i ++ ) printf("This is child process\n");
}
else {
/* 父进程程序*/
for ( i = 1; i <1000; i ++ ) printf("This is process process\n");
}
}
fork()调用一次可以返回两个值,这个特性是原来从没有遇到过的,所以感到很特别,
若返回-1则表示创建进程失败;
返回0说明是子进程;
返回一个正值说明是父进程.
看到这里突然想到了一个问题,既然这样,是不是可以在前台运行一个程序,而同时隐蔽的在后台运行一个程序,这个不是可以用来窃取游戏密码吗?前台做一个和游戏登陆界面一模一样的界面和,而后台将用户的输入记录下来,通过一定的手段将密码等关键信息传送到我们的邮箱里,这样就是一个盗号的程序了.
子进程和父进程是两个不同的进程,要进行通信还要用到通道的知识,今天还不会,文章找到了,还没时间看,现在要去上<<毛概>>了,郁闷啊,晚上回来学习吧!
有这样的想法,但好多东西现在还不会,还要慢慢学习,慢慢来,一切都会好的!
wxwp 于 2010-09-05 21:29:13发表:
要好好研究下
swei 于 2010-08-26 05:09:21发表:
原来创建进程这么简单,没怎么研究LINUX下的编程,既然这么简单以后学习下
haoxiuhai 于 2010-08-09 09:44:53发表:
!!!!支持
huayd 于 2007-09-18 11:02:41发表:
come on
Y will get what you need