Есть два основных способа сделать это.
Во-первых, файл, в который выполняется запись, на самом деле является именованным каналом , из которого программа читает, и она получает строку «начать работать», как если бы она поступала из любого другого вида входного потока (такого в качестве сетевой розетки или стандартного входа).
Другое (специфичное для Linux) - файл, в который записывается обычный файл, и программа отслеживает файл на предмет изменений, используя inotify (или dnotify в старых системах). Когда он получает событие inotify, указывающее, что файл изменился, он прочтет его содержимое и получит строку «начать работать».
Обратите внимание, что оба эти метода требуют, чтобы рассматриваемая программа уже работала в фоновом режиме (и просто ничего не делала). На самом деле нет никакого способа запустить программу таким способом, если, например, не существует фонового процесса, отвечающего за запуск программ, который выполняет одно из двух указанных выше действий.