Я использую свое настольное поле в качестве dev "сервер", таким образом, я установил mysql+apache+whatever. Это заставляет начальную загрузку длиться дольше, также потребление памяти высоко, так как у меня есть все это сервисное выполнение.
Программное обеспечение существует, который может запустить данный сервис только, когда к его порту получают доступ?
Скажите: запустите апача только, когда будет запрос на localhost:80 и так далее.
Вы могли, вероятно, использовать knockd, чтобы сделать это, если бы Вы действительно хотели. У меня также есть довольно много демонов, установленных для различного использования, и я склонен просто отключать их запускающийся на начальной загрузке и вручную запускать их, когда мне нужны они. Команда, чтобы сделать так была бы:
sudo update-rc.d $serviceName disable
и затем очевидное
sudo service $serviceName start
, когда Вы на самом деле хотите его выполнение.
knockd conf, о котором я могу думать первое, что пришло на ум, посмотрел бы что-то как:
[ApacheHTTP]
sequence = 80
seq_timeout = 10
command = /usr/bin/service apache2 start
tcpflags = syn
cmd_timeout = 10
и т.д., и т.д. для всех сервисов Вы хотите. Это автоматически не остановит их, как бы то ни было. Можно добавить строку, которая говорит 'stop_command = остановка/usr/bin/service apache2', если Вы хотите, но это могло бы завершить работу ее без Вас желающий к.