Red5 на Debian, вихід PID


1

Я розбираюся з цим, як новачок із усіма речами Linux, тож будьте терплячі :)

Я хотів би вивести ідентифікатор процесу програми у файл. З моїх читань, це, як правило, досягається спеціальною змінною pling, яка підтримує Linux:

make_something_run.sh &
echo $! > /var/run/someting.pid

однак, коли я намагаюся застосувати це в моєму сценарії запуску для red5, він створює файл pid успішно, але в ньому не знайдено жодного ідентифікатора. Це конкретний сценарій:

start)
    echo -n "Starting Red5"
    echo -n " "
    cd $RED5_HOME
    su -s /bin/bash -c "$RED5_HOME/$RED5_PROG.sh &" $RED5_USER
    echo "$RED5_HOME/$RED5_PROG.sh &"
## su -s /bin/bash -c "$RED5_HOME/$RED5_PROG.sh > start.log &" $RED5_USER
    echo $! > /var/run/red5.pid
    wait $!
    sleep 2
   ;;

Я намагався з і без wait $!(що, на мою думку, чекає початку процесу перед тим, як записати файл?), Не маючи успіху. Мої єдині інші думки - зробити щось фантазійне з grep і ps aux, щоб отримати число, хоча я не маю уявлення, чи це був би надійний підхід.

Відповіді:


2

Вам потрібно додати ехо
make_something_run.sh & echo $! > /var/run/someting.pid
                                                     ^

http://www.odi.ch/weblog/posting.php?posting=291

EDIT:
su -s /bin/bash -c "${RED5_HOME}/${RED5_PROG}.sh & echo \$! > /var/run/red5.pid" $RED5_USER

або
https://stackoverflow.com/questions/6197165/getting-a-pid-from-a -background-process-run-as-another-user


дякую за відповідь, я відредагував публікацію, щоб включити опущене відлуння у свій приклад, проте він присутній нижче в моєму дописі у сценарії, з яким я маю проблеми, тому не виправляю свою проблему
молоко

Чи можете ви спробувати, su -s /bin/bash -c "${RED5_HOME}/${RED5_PROG}.sh &" $RED5_USERя бачив, як ви ехо-тест, але це нормально використовувати {}, коли вам потрібно вставити змінну разом із текстом
Diblo Dk

1
Ви повинні мені шкодувати, але я трохи іржавий на ш і баш. Але я також можу бачити , що там можуть бути проблеми, ви використовуєте bashв su. Спробуйте також і зsu -s /bin/bash -c "${RED5_HOME}/${RED5_PROG}.sh & echo $! > /var/run/red5.pid" $RED5_USER
Дібло Дк

Так, це проблема у вас stackoverflow.com/questions/6197165/… Я просто бачу, що це питання потрібно задавати в
stackoverflow.com

2
збирався розмістити подібне, врешті-решт, я змусив його працювати, рятуючись від $! var:su -s /bin/bash -c "${RED5_HOME}/${RED5_PROG}.sh > start.log & echo \$! > /var/run/red5.pid" $RED5_USER
молоко
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.