◆ [灌水] 非技术话题、测试、灌水,请发贴至此 ◆

都在说些什么来的???      
咋啦,非技术话题嘛!!      
  • abc
  • def


      

  • fdsa
  • 2
  • 3
  • 4
  • 5
  • 6
      
貌似小于 300 的 pid 被 reserve 了, 不知为何:
引用:
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[$$=3912 $?=0] ; cat foo.c

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <stdbool.h>
#include <wait.h>

int
main(int argc, char *argv[])
{
    int pid_max = 0;
    int pid;
    int cnt = 0;
    bool wrapped = false;
    FILE * fp;

    fp = fopen("/proc/sys/kernel/pid_max", "r");
    if (! fp) {
        exit(1);
    }

    fscanf(fp, "%d", &pid_max);
    fclose(fp);

    if (! pid_max) {
        exit(2);
    }

    while (1) {
        pid = fork();
        if (pid > 0) {
            /* parent */

            if (pid > pid_max - 5 || wrapped) {
                printf("pid = %d\n", pid);
            }

            if (wrapped && ++cnt >= 5) {
                exit(0);
            }

            if (pid == pid_max - 1) {
                wrapped = true;
            }

            wait(NULL);
        } else if (! pid) {
            /* child */
            exit(0);
        } else {
            /* error */
            exit(3);
        }
    }

    return 0;
}
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[$$=3912 $?=0] ; gcc foo.c
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[$$=3912 $?=0] ; ./a.out
pid = 32764
pid = 32765
pid = 32766
pid = 32767
pid = 300
pid = 301
pid = 302
pid = 303
pid = 304
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[$$=3912 $?=0] ; bye
      
引用:
-(dearvoid@LinuxEden:Forum)-(~)-
[$$=30028 $?=0] ; e hello world
hello world
-(dearvoid@LinuxEden:Forum)-(~)-
[$$=30028 $?=0] ; bye
      
Testing ...

hello world
      
引用:
-(dearvoid@LinuxEden:Forum)-(~)-
[$$=17791 $?=0] ; e hello
hello
-(dearvoid@LinuxEden:Forum)-(~)-
[$$=17791 $?=0] ; bye
hello world

      
引用:
原帖由 dearvoid 于 2007-8-31 09:16 发表

是什么高级系统还用 csh 啊
过几天欢欢就是 csh 专家了哈, 正好弥补一下 shell 版在这方面的不足
FreeBSD就最好用csh,呵呵~~~      

  • a
  • b