Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.
Модератор: Bizdelnick
yoricI
Сообщения: 2345
ОС: gentoo fluxbox
Сообщение
yoricI » 03.04.2018 19:32
Здравствуйте!
ps aux | grep sleep
.. ... ... sleep 10m
Можно ли узнать, сколько ему тикать осталось? Подозреваю, что это не так просто, если вообще возможно.
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:
Сообщение
devilr » 03.04.2018 19:40
А что мешает перед запуском sleep измерить текущее время. А потом от него и все остальное узнавать. Ваш К.О
P.S. Или я неправильно задачу понял?!
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux
Сообщение
Bizdelnick » 03.04.2018 20:03
Ну так время создания процесса тоже должно быть в выхлопе ps.
Пишите правильно:
в консоли
вк у́пе (с чем-либо)
в о бщем
воо бще в течение (часа)
новичо к
ню анс
по у молчанию приемле мо
проблем а
пробо вать
траф ик
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL
Сообщение
SLEDopit » 03.04.2018 23:01
Bizdelnick писал: ↑ 03.04.2018 20:03
Ну так время создания процесса тоже должно быть в выхлопе ps.
Это не всегда будет работать. Если поставить процесс на паузу, то время создания процесса не поменяется, а вот время до конца sleep'а изменится.
ps.
Тут ребята выложили готовые скрипты по подсчёту на базе времени процесса.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux
Сообщение
Bizdelnick » 04.04.2018 01:56
SLEDopit писал(а): ↑ 03.04.2018 23:01
Это не всегда будет работать.
Так ТС не уточнял, в каких ситуациях ему надо, чтобы это работало.
Пишите правильно:
в консоли
вк у́пе (с чем-либо)
в о бщем
воо бще в течение (часа)
новичо к
ню анс
по у молчанию приемле мо
проблем а
пробо вать
траф ик
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL
Сообщение
SLEDopit » 04.04.2018 13:25
Bizdelnick писал: ↑ 04.04.2018 01:56
Так ТС не уточнял, в каких ситуациях ему надо, чтобы это работало.
Да я понимаю. Просто на всякий пожарный уточнил.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
anonymous.ru
Сообщения: 614
Сообщение
anonymous.ru » 04.04.2018 20:39
SLEDopit писал(а): ↑ 03.04.2018 23:01
Если поставить процесс на паузу, то время создания процесса не поменяется, а вот время до конца sleep'а изменится.
Вы в этом уверены?
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL
Сообщение
SLEDopit » 04.04.2018 23:46
Не верите мне -- попробуйте сами:
Код: Выделить всё
$ sleep 1m
^z
# подождите пару минут
$ ps -ef | grep sleep
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
anonymous.ru
Сообщения: 614
Сообщение
anonymous.ru » 05.04.2018 09:28
SLEDopit писал(а): ↑ 04.04.2018 23:46
Не верите мне -- попробуйте сами:
Код: Выделить всё
$ sleep 1m
^z
# подождите пару минут
$ ps -ef | grep sleep
То, что процесс все еще остался, не значит, что sleep не истек, и будет продолжать отсчитывать время после пробуждения.
Попробуйте сами:
Код: Выделить всё
$ sleep 1m
^z
$ sleep 1m
когда последний sleep завершится, разбудим первый
$ fg
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Контактная информация:
Сообщение
serzh-z » 05.04.2018 23:14
Можно проверять по etimes (`ps -o etimes= -p <PID>`).
sleep (ядерный nanosleep) в POSIX считает реальные [микро]секунды (а не только те, когда процесс работал).
Последний раз редактировалось
serzh-z 06.04.2018 02:01, всего редактировалось 1 раз.
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux
Сообщение
Bizdelnick » 05.04.2018 23:18
anonymous.ru писал: ↑ 05.04.2018 09:28
То, что процесс все еще остался, не значит, что sleep не истек
Что значит "не истёк"? С практической точки зрения имеет значение только когда завершится процесс sleep и скрипт запустит следующий. И это произойдёт не раньше, чем процесс будет снят с паузы.
Пишите правильно:
в консоли
вк у́пе (с чем-либо)
в о бщем
воо бще в течение (часа)
новичо к
ню анс
по у молчанию приемле мо
проблем а
пробо вать
траф ик