Как заставить бесконечно выполняющуюся команду уничтожить себя, когда определенные условия соблюдены?

Ядро на 1 ГГц + 1 ГБ RAM - много, Вы, конечно, не должны рассматривать специальные "маленькие" дистрибутивы, если у Вас нет тоски экспериментировать. Ваша система является просто не маленькой, мудрый Linux.

Также: Обычно "маленький" относится к размеру установки (т.е. используемое пространство на жестком диске) и намного меньше (или нисколько) фактическая сумма требуемой RAM, и т.д. У меня есть (бездисплейные) системы рабочие основные дистрибутивы (включая человечность), которые работают на 24/7 <ПОРШЕНЬ на 100 МБ.

То, что Вы действительно хотите рассмотреть, является программным стеком GUI, который Вы выполняете. В то время как самый легкий способ получить легкий стек состоит в том, чтобы выбрать дистрибутив, который располагает по приоритетам использование ресурса уменьшения, это не необходимо.

Например, если человечность является Вашим предпочтением, установите бездисплейную серверную версию и затем добавьте сервер Xorg и DE (настольная среда) или WM (менеджер окон). Обратите внимание, что первый обычно включает последнего при необходимости, таким образом, автономный WM's является почти по определению намного более низким профилем, чем DES. Если все, что необходимо выполнить, является одним или двумя приложениями, Вам действительно не нужен DE вообще; существенное различие будет то, что без DE, Вы, вероятно, захотите установить файловый менеджер / какой-то браузер (они обычно соглашаются с DE).

Существуют многочисленные сравнения Linux, ориентированного на DES и WMs на строке; вероятно, Вы хотите избежать большинства многофункциональных как GNOME и KDE и выбрать одно такое как XFCE или LXDE. Существует распределение человечности, которое использует XFCE по умолчанию, Xubuntu и тот, который использует LXDE, Lubuntu.

Однако только вновь заявить: любой основной дистрибутив позволит Вам выполнять любой основной DE/WM. Или ни один вообще. Просто необходимо настроить его.

2
13.04.2017, 15:36
2 ответа

Попробуйте это

loud_program | grep --max-count=NUM

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

2
27.01.2020, 22:13

Можно передать результаты на пейджер, например, минус . Входной буфер less не позволит команде генерировать слишком много данных (т.е. в какой-то момент она будет блокироваться до тех пор, пока вы не пойдёте больше вниз), и как только вы выйдете из пейджера, команды автоматически завершатся из-за сломанной трубы. Если по какой-то причине команды (трубопровода) все еще выполняются из-за того, что данные не генерируются, вы можете ввести Ctrl-C для их завершения.

0
27.01.2020, 22:13

Теги

Похожие вопросы