cupsd потребляет 100% процессор и создает большие (832 ГБ +) журналы

Программа очень проста для себя в фоновом режиме. Код, используемый для этого, может быть таким же простым, как это:

if (fork() > 0) _exit(0);

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

По моему опыту Skype и Firefox не ставят себя в фоновом режиме. Они делают что-то другое.

Когда вы запускаете одну из этих программ, они будут проверять, есть ли уже запущенный экземпляр программы. Если есть исполняемый экземпляр, новый экземпляр отправит сообщение исполняемому экземпляру с параметром, который вы ему только что дали, а затем закройте.

Эффект от этого заключается в том, что уже запущенный экземпляр что-то делает, и вы получите свое приглашение назад.

1
задан 5 April 2018 в 12:24

0 ответов

Другие вопросы по тегам:

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