读书时间 05/25/2011 Linux C/C++ 孤儿进程
来源:互联网 发布:mac如何查看系统日志 编辑:程序博客网 时间:2024/05/19 00:42
《Linux高级程序设计》2nd version,杨宗德
1. 杂问
2. 孤儿进程
[root@frank orphan]# cat orphan.c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main() {
pid_t pid;
if ((pid=fork())==-1) {
perror("fork!");
} else if (pid==0) {
printf("pid=%d, ppid=%d/n", getpid(), getppid());
sleep(2);
printf("pid=%d, ppid=%d/n", getpid(), getppid());
} else {
exit(0);
}
}
注:父进程先退出了,子进程被init进程(id=1)收养。
2. 僵尸进程
[root@frank zombe]# cat dead-p.c
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main() {
pid_t pid;
if ((pid=fork())==-1) {
perror("fork!");
} else if(pid==0) {
system("ps");
printf("Child pid = %d/n", getpid());
exit(0);
}
sleep(3);
system("ps");
exit(0);
}
[root@frank zombe]# ./deadp
PID TTY TIME CMD
5279 pts/1 00:00:00 bash
5399 pts/1 00:00:00 deadp
5400 pts/1 00:00:00 deadp
5401 pts/1 00:00:00 ps
Child pid = 5400
PID TTY TIME CMD
5279 pts/1 00:00:00 bash
5399 pts/1 00:00:00 deadp
5400 pts/1 00:00:00 deadp <defunct>
5402 pts/1 00:00:00 ps
注:子进程先退出,但资源没有释放,成为僵尸(defunct)?
3. 组播
IP:230.1.1.1->MAC:01:00:53:1.1.1
^MAC组播头
^ 后23bit从IP复制
Q:局域网内所有主机网卡都会收到组播包,但网卡驱动程序如何确定是否传给IP层?是否网卡驱动有办法设置自己是否属于某个组播组?
4. chap 15 做一个xinetd服务
* 写服务代码
[root@frank xinetd]# cat daytime_inetd.c
#include <time.h>
#include <unistd.h>
#include <sys/types.h>
#include <signal.h>
#include <fcntl.h>
#include <sys/param.h>
#include <sys/syslog.h>
#define MAXLINE 4096
int main(int argc, char **argv) {
socklen_t len;
struct socketaddr *cliaddr;
char buff[MAXLINE];
time_t ticks;
ticks = time(NULL);
snprintf(buff, sizeof(buff), "%.24s/r/n", ctime(&ticks));
write(0, buff, strlen(buff));
close(0);
exit(0);
}
* 配置启动项
/etc/xinetd.d/daytime_inetd
root@frank xinetd]# cat /etc/xinetd.d/daytime_inetd
service daytime_inetd
{
disable = no
flags = REUSE
sock_type = stream
wait = no
user = root
server = /study/run/daytime_inetd
log_on_failure += USERID
}
* 配置服务应用端口
/etc/services
[root@frank xinetd.d]# cat /etc/services | grep daytime_inetd
# my new service: daytime_inetd
daytime_inetd 8888/tcp
[root@frank xinetd.d]#
* 重启服务xinetd
# service xinetd restart
Q:不知为什么没有work !!!
5. laptop中配置samba,下载book程序源代码
Q:找不到Samba相关的命令
[root@localhost init.d]# /etc/init.d/smb restart
-bash: /etc/init.d/smb: 没有那个文件或目录
终于通过Linux图形界面中的ftp程序把source下载了!!! (22:00)
- 读书时间 05/25/2011 Linux C/C++ 孤儿进程
- 读书时间 2011-05-23 Linux/C/++
- linux c之孤儿进程与僵尸进程[总结]
- 读书时间 2011/12/27 Linux-C & iPhone/iPad
- 读书时间 2010-05-24 C/C++
- 读书时间2011/06/26 Objective-C
- 读书时间 2012/01/04 Linux C/iuPhone/iPad
- Linux中的孤儿进程
- linux 孤儿进程
- 读书时间 2011/06/17 - 2 Objective-C
- Linux 僵尸进程 孤儿进程
- Linux进程:僵尸与孤儿
- Linux系统编程----孤儿进程
- Linux-进程状态&僵尸进程&孤儿进程
- linux下僵尸进程和孤儿进程
- Linux中的 僵尸进程 和 孤儿进程
- linux 中的僵死进程和孤儿进程
- linux 僵尸(defunct)进程和孤儿进程
- 教你如何读懂Oracle中StatsPack报告
- (书摘:用户故事与敏捷方法)第八章 估算用户故事
- 收集一些LINXU+WAP的学习资料
- delphi线程创建事例
- android map开发
- 读书时间 05/25/2011 Linux C/C++ 孤儿进程
- TestComplete8.5发布,率先支持Flex4.5、Silverlight4、IE9、FF4
- MySQL使用指南一
- 主流Java报表软件之王者争夺战:功能大PK系列之调整折线图标记
- c# 之API获取进程用户名。
- C++深入虚函数(二)
- 什么是操作系统
- C++虚函数深入(三)
- 【百度空间代码专用贴】