Проверка процесса в ubuntu

Автор gibat92, 05 Января 2010, 17:49

« предыдущая тема - следующая тема »

0 Пользователей и 1 Гость просматривают эту тему.

gibat92

Здравствуйте!

Как можно проверить запущен ли процесс с именем, допустим "./gs01"?

И если он не запущен, запустить его...

Drone

Цитата: gibat92 от 05 Января 2010, 17:49Здравствуйте!

Как можно проверить запущен ли процесс с именем, допустим "./gs01"?

И если он не запущен, запустить его...
Можно так: Alt+F2 -> terminal -> ps -e
И смотрим запущеные процессы.
Или (вариант с гуем): Alt+F2 -> gnome-system-monitor -> Процессы

log

Цитата: gibat92 от 05 Января 2010, 17:49Здравствуйте!

Как можно проверить запущен ли процесс с именем, допустим "./gs01"?

И если он не запущен, запустить его...
ps aux |grep imya_processa
А потом, доктор, я собрал мир. Это заняло у меня 7 дней...

gibat92

log

Спасибо, то что нужно!
а если сделать что-то типо такого:


if ps aux |grep имя_процесса
  then 
    echo "процесс запущен"
  else
    _тут_запуск_процесса_
fi


будет ли работать? (:

log

Ну так попробуйте! http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/rolleyes.gif\' class=\'bbc_emoticon\' alt=\':rolleyes:\' />
А потом, доктор, я собрал мир. Это заняло у меня 7 дней...

Iskander

Цитата: gibat92 от 05 Января 2010, 22:28log

Спасибо, то что нужно!
а если сделать что-то типо такого:


if ps aux |grep имя_процесса
  then 
    echo "процесс запущен"
  else
    _тут_запуск_процесса_
fi


будет ли работать? (:
Всегда будет идти по ветке true, поскольку как минимум будет выдавать процесс grep
Любовь и массовые расстрелы спасут мир.

gibat92

06 Января 2010, 12:26 #6 Последнее редактирование: 06 Января 2010, 12:41 от gibat92
Имя файла 1.sh#!/bin/sh


if ps aux |grep "./gs gs01" |grep -v grep
    then
        echo "process successfuly"
        sleep 600
        ./1.sh
    else
        echo "process has gone..."
        cd /home/gamed; ./gs gs01 >/home/logs/game1.log &
        sleep  180
        cd /root
        ./1.sh
fi
echo "end"
Все прекрасно работает (:

Вот только интересует еще два вопроса:
1) как запустить этот файл (1.sh) в режиме бекграунда, ну чтобы при закрытии консоли, он продолжал работать... (консоль ssh)
2) как из процессов убирать "старые процессы" файла 1.sh? =>
 
Цитировать3111 tty2     S+     0:00 /bin/sh ./1.sh
 3116 tty2     S+     0:00 /bin/sh ./1.sh
 3121 tty2     S+     0:00 /bin/sh ./1.sh
 3126 tty2     S+     0:00 /bin/sh ./1.sh
 3131 tty2     S+     0:00 /bin/sh ./1.sh
 3219 tty3     R+     0:00 ps -ax
 
если не выполнять в скрипте повторный запуск "./1.sh", то вместо него можно написать что-то в роде "reload"? (как именно сделать я хз =\)

Vicpo

Цитата: gibat92 от 06 Января 2010, 12:26Имя файла 1.sh#!/bin/sh


if ps aux |grep "./gs gs01" |grep -v grep
then
  echo "process successfuly"
  sleep 600
  ./1.sh
else
  echo "process has gone..."
  cd /home/gamed; ./gs gs01 >/home/logs/game1.log &
  sleep 180
  cd /root
  ./1.sh
fi
echo "end"
Все прекрасно работает (:

Вот только интересует еще два вопроса:
1) как запустить этот файл (1.sh) в режиме бекграунда, ну чтобы при закрытии консоли, он продолжал работать... (консоль ssh)
2) как из процессов убирать "старые процессы" файла 1.sh? =>
 


kill номер процесса
запуск в фоне
nohup ./1.sh &

gibat92

06 Января 2010, 12:57 #8 Последнее редактирование: 06 Января 2010, 12:57 от gibat92
Цитата: Vicpo от 06 Января 2010, 12:36kill номер процесса
запуск в фоне
nohup ./1.sh &
Убивать пару сотен(за день накопится) процессов через kill, не слишком охото http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/smile.gif\' class=\'bbc_emoticon\' alt=\':)\' />Это какнибудь бы автоматизовать...

Vicpo

Цитата: gibat92 от 06 Января 2010, 12:57Убивать пару сотен(за день накопится) процессов через kill, не слишком охото http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/smile.gif\' class=\'bbc_emoticon\' alt=\':)\' />Это какнибудь бы автоматизовать...




А на фига их стоько надо было запускать?
killall -9 ./1.sh
killall -9 sh

Iskander

06 Января 2010, 13:20 #10 Последнее редактирование: 06 Января 2010, 13:23 от Iskander
Цитата: Vicpo от 06 Января 2010, 13:07killall -9 sh
Особенно прикольно, если кто нибудь будет залогинен в системе в это время.  http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/smile.gif\' class=\'bbc_emoticon\' alt=\':)\' />  
gibat92
- у меня чувство, что на самом деле тебе все это не нужно. XY Problem
Любовь и массовые расстрелы спасут мир.