URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 1022
[ Назад ]

Исходное сообщение
"Работа с процессами "

Отправлено gzsoft , 07-Окт-02 13:49 
Как узнать существует ли процесс и если он существует как узнать о нем информацию желательно на perl но посмотрел бы как это и на си

shell просьба не беспокоить


Содержание

Сообщения в этом обсуждении
"RE: Работа с процессами "
Отправлено J , 07-Окт-02 17:45 
>Как узнать существует ли процесс и если он существует как узнать о
>нем информацию желательно на perl но посмотрел бы как это и
>на си
>
>shell просьба не беспокоить

посмотреть файлики в каталоге /proc и на перл, и на шелл можно


"RE: Работа с процессами "
Отправлено Klio , 08-Окт-02 13:54 
>Как узнать существует ли процесс и если он существует как узнать о
>нем информацию желательно на perl но посмотрел бы как это и
>на си
>
>shell просьба не беспокоить

Получение информации о процессах на C выглядит сл.образом

#define PROCFS "/proc"

    DIR *procdir;
    if (!(procdir = opendir (PROCFS)))
              return false;
    
    if (chdir (PROCFS))
        return false;    
          
    psinfo_t currproc;
    int numprocs = 0;
      int i;
      struct dirent *direntp;

  for (rewinddir (procdir); (direntp = readdir (procdir));)
    {
      int fd,fd1;
      char buf[30];
      if (direntp->d_name[0] == '.')
    continue;

    
    snprintf(buf, sizeof(buf), "%s/psinfo", direntp->d_name);

      if ((fd = open (buf, O_RDONLY)) < 0)
    continue;

      if (read(fd, &currproc, sizeof(psinfo_t)) != sizeof(psinfo_t))
    {
      (void) close (fd);
      continue;
    }
    /*
           currproc - содержит информацию о процессе;

        */
    (void) close (fd);
    }
    
Klio.