LINUX.ORG.RU
ФорумAdmin

Рестарт процесса из screen в баше

 , , ,


0

2

Порядок действий, чтобы вручную рестартануть процесс nodejs, следующий:

0. sudo su

1. screen -r

2. ctrl^c

3. ENV=development supervisor -p 1000 app.js

4. ctrl^a

5. d

Подскажите, пожалуйста, как это можно сделать скриптом? Вызывают затруднения в частности клавишесочетания.

«sudo su» пароля не просит.

Спасибо!



Последнее исправление: vitali (всего исправлений: 2)
Ответ на: комментарий от theNamelessOne

Не, это не то. Надо просто рестартовать процесс по нажатию на кнопку, когда это нужно. При нажатии на кнопку должен вызываться скрипт, который выполнит вышеуказанные 6 пунктов. Проблема - оформить их в скрипт.

vitali
() автор топика

А написать вочдога и засунуть в крон, не?

Umberto ★☆
()

Для примера(не проверял работу)

SCREEN_NAME="node"

start() {
	if screen -ls | grep $SCREEN_NAME
	then
	echo "Server already started."
	else
	echo "Starting server."
	sleep 1
	screen -AmdS $SCREEN_NAME nodejs app.js
	fi
}

stop() {
	PID=`ps fax | grep $SCREEN_NAME | grep SCREEN | awk '{ print $1 }'`
	kill $PID
}

restart() {
	stop
	echo "Server stop."
	start
	echo "Server start."
}
ritsufag ★★★★★
()

автор, запускать что-то в скрин, когда нужно просто демона держать в режиме nodetach - это бред. для этого существуют супервайзеры. например - runit. соответственно, рестарт будет командой sv restart your_app.

Bers666 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.