Linux Forum Казахстан

Общий => Вопрос новичка => Тема начата: gibat92 от 05 Января 2010, 17:49

Название: Проверка процесса в ubuntu
Отправлено: gibat92 от 05 Января 2010, 17:49
Здравствуйте!

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

И если он не запущен, запустить его...
Название: Проверка процесса в ubuntu
Отправлено: Drone от 05 Января 2010, 18:14
Цитата: gibat92 от 05 Января 2010, 17:49Здравствуйте!

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

И если он не запущен, запустить его...
Можно так: Alt+F2 -> terminal -> ps -e
И смотрим запущеные процессы.
Или (вариант с гуем): Alt+F2 -> gnome-system-monitor -> Процессы
Название: Проверка процесса в ubuntu
Отправлено: log от 05 Января 2010, 20:12
Цитата: gibat92 от 05 Января 2010, 17:49Здравствуйте!

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

И если он не запущен, запустить его...
ps aux |grep imya_processa
Название: Проверка процесса в ubuntu
Отправлено: gibat92 от 05 Января 2010, 22:28
log

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


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


будет ли работать? (:
Название: Проверка процесса в ubuntu
Отправлено: log от 06 Января 2010, 00:11
Ну так попробуйте! /rolleyes.gif\' class=\'bbc_emoticon\' alt=\':rolleyes:\' />
Название: Проверка процесса в ubuntu
Отправлено: Iskander от 06 Января 2010, 10:32
Цитата: gibat92 от 05 Января 2010, 22:28log

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


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


будет ли работать? (:
Всегда будет идти по ветке true, поскольку как минимум будет выдавать процесс grep
Название: Проверка процесса в ubuntu
Отправлено: 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? =>
 
Цитировать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"? (как именно сделать я хз =\)
Название: Проверка процесса в ubuntu
Отправлено: Vicpo от 06 Января 2010, 12:36
Цитата: 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 &
Название: Проверка процесса в ubuntu
Отправлено: gibat92 от 06 Января 2010, 12:57
Цитата: Vicpo от 06 Января 2010, 12:36kill номер процесса
запуск в фоне
nohup ./1.sh &
Убивать пару сотен(за день накопится) процессов через kill, не слишком охото /smile.gif\' class=\'bbc_emoticon\' alt=\':)\' />Это какнибудь бы автоматизовать...
Название: Проверка процесса в ubuntu
Отправлено: Vicpo от 06 Января 2010, 13:07
Цитата: gibat92 от 06 Января 2010, 12:57Убивать пару сотен(за день накопится) процессов через kill, не слишком охото /smile.gif\' class=\'bbc_emoticon\' alt=\':)\' />Это какнибудь бы автоматизовать...




А на фига их стоько надо было запускать?
killall -9 ./1.sh
killall -9 sh
Название: Проверка процесса в ubuntu
Отправлено: Iskander от 06 Января 2010, 13:20
Цитата: Vicpo от 06 Января 2010, 13:07killall -9 sh
Особенно прикольно, если кто нибудь будет залогинен в системе в это время.  /smile.gif\' class=\'bbc_emoticon\' alt=\':)\' />  
gibat92
- у меня чувство, что на самом деле тебе все это не нужно. XY Problem (http://www.perlmonks.org/index.pl?node_id=542341)