Автор Тема: Стартиране на standalone процес през терминала  (Прочетена 1511 пъти)

Naminator_X_

  • Напреднали
  • *****
  • Публикации: 15
    • Профил
Днес си RSync-нах едни сорсове на бекъп машината, която върви с Ubuntu Karmic Koala 9.10 Server Edition. Не знам защот този път не се реших да ползвам мета пакетите (например като nginx и php5-cgi) та свалиш си всичко сорсове extension-и и си ги компилирах и качих. Настроих nginx-a настроих РНР-то активирах му плъгини и всичко обаче възникна проблемче :/ Значи ето какво става. Влизам аз през ssh с PuTTY и си пиша /usr/local/php/bin/php-cgi -b 127.0.0.1:9000 и какво става...конзолата не ми дава да правя други действия...дефакто или трябва да си отворя нова сесия ИЛИ да затворя текущата ако реша да напускам терминала >.< Та въпроса ми е...има ли начин да извикам процес (без значение какъв) да ми се отдели от конзолата и да си стои standalone както е примерно nginx...друг вариант е да си направя тази команда да се изпълнява с тръгването на сървъра, обаче на мен не ми трябва тази поддръжка нон-стоп все пак това е backup сървър (чат пат тест) и искам да си я пускам и спирам когато поискам, но да мога и да правя други неща на компютъра, а не да пусна РНР и да гледам умно или да отварям втора сесия >.< Търсих из Google, но наистина не зная за какво да търся и естествено не открих нужната информация :/
Активен

shoshon

  • Гост
Гледам, че си запознат доста добре с Линукс, което ме притеснява аз да не кажа някаква глупост....
Код:
[user@server#] command&
#Ще ти изпише:
command [pid]
[user@server#]

От "научна гледна точка" това се казва демонизиране :). Просто да знаеш :)
Активен

Ipolit

  • Напреднали
  • *****
  • Публикации: 418
    • Профил
    • WWW
може като го пуснеш процеса, да го паузираш с ctrl+Z и после да го пуснеш в background да си върви с 'bg'. После може да се върнеш при него с 'fg'.
Туй в случай, че си забравил, че ще се откачаш. Аз лично предпочитам screen. То си е програмка, разгледай го.
Пускаш си процес, откачаш се или си създаваш нов скрийн за нов процес и си се местиш между всичките. Много е яко.
С амперсанда не знам може ли да се закачаш пак към задачата, тъй че вероятно не е опция за всички случаи.
Активен

Face Your FreeBSD at http://ipolit.hit.bg

arda_kj

  • Напреднали
  • *****
  • Публикации: 631
  • Distribution: Debian Sid/Unstable; Ubuntu 12.04
  • Window Manager: Gnome/KDE
    • Профил
Малко добавка към обясненията на колегите:
http://www.linux-bg.org/forum/index.php?topic=35407.msg178005#msg178005
Активен

Debian Sid/Unstable; Ubuntu 12.04
"За да открием истината, е нужно поне веднъж в живота си да подложим всичко на съмнение" - Р. Декарт

bop_bop_mara

  • Напреднали
  • *****
  • Публикации: 2433
  • Distribution: Debian Testing
  • Window Manager: LXDE
  • Cute and cuddly
    • Профил
Код
GeSHi (Bash):
  1. command &
е пускане във фонов режим. Демонът е нещо малко по-различно, той е процес без управляващ терминал, син на init със съответните демоснки задължения.
Код
GeSHi (Bash):
  1. command &
  2. disown
ще направи "демонизиране" на твоя процес, т.е. ще го остави без управляващия терминал и ще му смени родителя с init. Оттам нататък можеш да си го трепеш с kill. Само че няма как да се върнеш към управлението му. Ако ти върши работа това :)
Активен

Naminator_X_

  • Напреднали
  • *****
  • Публикации: 15
    • Профил
Гледам, че си запознат доста добре с Линукс, което ме притеснява аз да не кажа някаква глупост....
Код:
[user@server#] command&
#Ще ти изпише:
command [pid]
[user@server#]

От "научна гледна точка" това се казва демонизиране :). Просто да знаеш :)

Точно от каквото имах нужда :) Мерси ! Също благодаря и за другите коментари. Макар, че на мен лично не ми вършат работа в момента, може да ми потрябват в бъдеще и това може би клони повече към вероятно, така че :)
Активен

bop_bop_mara

  • Напреднали
  • *****
  • Публикации: 2433
  • Distribution: Debian Testing
  • Window Manager: LXDE
  • Cute and cuddly
    • Профил
Внимавай с фоновия режим, ако процесът, който пускаш във фонов режим, има нужда от стандартен вход, изход и изход за грешки, може да стане мазано. Ако искаш наистина да пуснеш демон, disown-вай го.
Код
GeSHi (Bash):
  1. mara@OVNI:~$ tee &
  2. [1] 8948
  3. mara@OVNI:~$ echo "Hello"
  4. Hello
  5.  
  6. [1]+  Stopped                 tee
  7. mara@OVNI:~$ echo "Hello"
  8. Hello
  9. mara@OVNI:~$ ps | grep 8948
  10. 8948 pts/1    00:00:00 tee
  11. mara@OVNI:~$ kill -9 8948
  12. mara@OVNI:~$
Активен

Naminator_X_

  • Напреднали
  • *****
  • Публикации: 15
    • Профил
По принцип си хващам увисналите процеси с top и ps ax и си ги kill-вам и естествено "демонизирам", когато съм сигурен, че тази програма не и трябва допълнително човъркане, както е top и mytop (мониторинг на MySQL заявките в реално време) пък и те са такива, че ги пускам за по 5-10 минути да видя как се държи сървъра и ги спирам по съвсем човечен начин. Обаче на php-cgi не му трябваше да върви отделен конзолен процес и ми трябваше решение, което вие дадохте с доста обяснения, за което съм ви благодарен !

ps ax | grep nginx ми е много полезен тъй като nginx-a пуска няколко процеса и когато има доста редове трудно го откривам, а така ми показва master процеса и останалите подредени както трябва :) а това grep е много удобно ! Работя по големи проекти и когато забравя кое къде съм сложил правя един бърз "Find in files" :) От скоро се занимавам с линукс администрация, но честно казано...започва да ми харесва :) Дори домашния ми компютър е вече на dualboot и през повечето време ми стои на линукс
« Последна редакция: Nov 11, 2009, 01:19 от Naminator_X_ »
Активен

ivanatora

  • Напреднали
  • *****
  • Публикации: 658
  • Distribution: Ubuntu 10.04
  • Window Manager: Fluxbox
    • Профил
    • WWW
Можеш да пробваш със screen <cmd> и после да откачиш екрана с CTRL+A D. Предимството е че можеш да затвориш пути-то без да се убие процеса и дори можеш да отвориш ново пути и със screen -r да възстановиш сесията (ако ти трябва да видиш някакви съобщения, примерно).
Виж също и nohup.
Активен

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Runing standalone dns
Настройка на програми
ivanatora 1 770 Последна публикация Oct 13, 2004, 16:15
от Филип Бонев