The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Лекарство от падающих WM'ов :) (X wm wrapper example)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: X, wm, wrapper, example,  (найти похожие документы)
_ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _ From : Yuriy Kaminskiy 2:5020/517.21 18 Oct 98 16:47:32 Subj : Лекарство от падающих WM'ов :) ________________________________________________________________________________ Hello All! После нескольких падений WM'ов, написал вот такую приблуду [запуск - вставьте runwm перед именем вашего wm; при падении wm по сигналу, он его перезапускает]: ===Makefile=== prefix = /usr/local exec_prefi = $(prefix) bindir = $(exec_prefix)/bin LDFLAGS=-L/usr/X11R6/lib -lX11 all: runwm install: all install -o root -g root -m 755 runwm $(bindir)/runwm ===Makefile=== ===runwm.c=== #include <sys/types.h> #include <sys/wait.h> #include <unistd.h> #include <stdio.h> #include <signal.h> #include <X11/Xlib.h> int main(int ac, char *av[]) { Display *d; if(ac<2) { fprintf(stderr,"Usage: runwm program [args...]\n"); return 1; } if((d=XOpenDisplay(NULL))==NULL) { fprintf(stderr,"Cannot open display!\n"); return 1; } for(;;) { pid_t pid; if((pid=fork())==0) { /* child */ execvp(av[1],&(av[1])); _exit(127); } else if(pid<0) { /* error */ XCloseDisplay(d); perror("fork"); return 1; } else { /* parent */ int status; if(waitpid(pid,&status,0)<0) { perror("waitpid"); XCloseDisplay(d); return 1; } /* WM `normally' terminated */ if(WIFEXITED(status)|| (WIFSIGNALED(status) && WTERMSIG(status)==SIGTERM)) { /* возможно, SIGPIPE тоже следует считать `нормальным' ? */ XCloseDisplay(d); return WEXITSTATUS(status); } /* else - continue */ } } } ===runwm.c=== -- Yuriy Kaminskiy. --- Gnus v5.2.25/XEmacs 19.14 * Origin: Kyle Katan's station (2:5020/517.21@fidonet)

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ RSS ]
  • 1, glitch (?), 12:04, 12/07/2005 [ответить]  
  • +/
    А куда они падают интересно?
    Как часто?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру