ps aux: zero VSZ

Я не уверен, может ли это решение соответствовать вашим требованиям, но вы можете попробовать.

Если на мгновение забыть о выключении / перезагрузке ПК, то в bash без перехвата терминала будет работать следующее (вы можете попробовать это как однострочную команду для тестирования):

sleep 10 && yad --text="10 seconds passed" && exit &

Выше команда, хотя я этого не ожидал, работает, даже если я закрываю окно терминала.

PS: Если вы объедините его с nohup, команда будет продолжать работать, даже если вы выйдете из системы.

В качестве обходного пути вы можете разделить исходный скрипт на два меньших скрипта; один сценарий для установки один сценарий для удаления, что-то вроде этого:

#script_to_install.sh  
sudo apt-get install phpmyadmin
sudo phpenmod mcrypt mbstring
printf 'Include /etc/phpmyadmin/apache.conf' >> /etc/apache2/apache2.conf
sudo service apache2 restart
sleep 7200 && path/to/script_to_remove.sh &
exit #exit the first script to free terminal (or even close the terminal)
#end of script_to_install.sh

#script_to_remove.sh
#Optionally you can use xterm -e (or similar) to bring up a terminal window automatically to see the output of the commands
sudo phpdismod mcrypt mbstring
sudo apt-get purge phpmyadmin
sudo service apache2 restart
sed -i 's/Include \/etc\/phpmyadmin\/apache.conf/ /g /etc/apache2/apache2.conf
exit
#end of script_to_remove.sh

Возвращаясь к части перезагрузки ПК, я думаю, что это можно решить, записав время начала во временный файл журнала, и после перезагрузки вы можете отслеживать этот временный файл (т.е. с использованием инструментов inotify) для определения истекшего периода времени (не проверено).

1
05.11.2016, 18:50
0 ответов

Теги

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