LINUX.ORG.RU

Не отображается процесс


0

0

Есть скрипт (только не спрашивайте, зачем он нужен)

while true
do
echo "1234" >> /home/user/file
sleep 10
done
exit 0


Я задумывал его, как бесконечный цикл, но почему, когда он запускается, он не отображается ни в ps, ни в top, хотя сам скрипт работает?

Ответ на: комментарий от SANTA_CLAUS

>> а еще 'sleep 10' и может повезет заметишь 'echo 1234'

Обычно echo реализуется как встроенная команда шелла. Хотя это не обязательно.

Deleted
()
Ответ на: комментарий от Master_Yoda

()

  Команды, заключенные в круглые скобки исполняются в дочернем процессе -- subshell-е. 
         (c) Advanced Bash-Scripting Guide


ghost     2753  0.2  0.1   4840  1544 pts/3    Ss   00:33   0:00  \_ bash
ghost     2832  0.0  0.0   3796   468 pts/3    S+   00:37   0:00  |   \_ sleep 3m

оно?

dGhost ★★★
()
Ответ на: комментарий от dGhost

Задача такова.

Создать скрипт, который по одной команде формировал бы некий список файлов, по другой запускал бы другой скрипт в фоновом режиме (типо демон), который проверял бы контрольную сумму файлов в этом списке, а по еще одной команде он должен этот демон отключить. Так вот, я все реализовал, кроме последнего, потому что не могу узнать PID вот того самого демона, хотя на компьютере на лабораторной работе все прекрасно отображалось командой ps.

Master_Yoda
() автор топика
Ответ на: комментарий от Master_Yoda

>запускал бы другой скрипт в фоновом режиме (типо демон)
>я все реализовал, кроме последнего,
>не могу узнать PID вот того самого демона,

$ sleep 60 &   (типо демон)
$ echo $!      (типо его PID)
8664

               (типо проверка)
$ ps -ef | grep '[s]leep'
user    8664  8659  0 22:23 pts/0    00:00:00 sleep 60

Доступно?

sdio ★★★★★
()
Ответ на: комментарий от sdio

Вполне доступно (и не обязательно везде писать "типо")=))

Только не работает. С одной командой sleep, это хорошо, но как это сделать со скриптом, который много команд выполняет? Завершать их все по очереди очень долго и как-то неудобно.

Я так понимаю, что весь скрипт не может отображаться, как отдельный процесс?

Master_Yoda
() автор топика
Ответ на: комментарий от Master_Yoda

>Я так понимаю, что весь скрипт не может отображаться, как отдельный процесс?

Доктор едет, едет
Сквозь снежную равнину
Порошок целебный людям он везет
Человек и кошка порошок тот примут
И печаль отступит и тоска пройдет.

sdio ★★★★★
()
Ответ на: комментарий от sdio

Хороший стишок=))

Оказывается, нужно всего лишь добавить в начало скрипта строчку

#!/bin/sh

Ну или другую оболочку, а то если используется та, в которой вы сейчас находитесь, скрипт как отдельный процесс не отобразится.

Теперь все работает)) Всем спасибо! Master_Yoda (*) (19.10.2008 11:38:53)

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