Можна відправляти вхідний текст до запущеного процесу без запуску screenутиліти чи будь-якої іншої вигадливої утиліти. А це можна зробити, надіславши цей вхідний текст у файл «стандартного введення» процесу /proc/PID#/fd/0.
Однак вхідний текст потрібно надсилати спеціальним чином, щоб прочитати процес. Надсилання тексту введення за допомогою writeметоду звичайного файлу не призведе до отримання тексту тексту. Це тому, що це буде додано лише до цього "файлу", але не запустить процес зчитування байтів.
Щоб запустити процес зчитування байтів, необхідно виконати IOCTLоперацію типу TIOCSTIдля кожного окремого байту, що надсилається. Це помістить байт у стандартну вхідну чергу процесу.
Це обговорюється тут на деяких прикладах у C, Perl та Python:
https://unix.stackexchange.com/questions/48103/construct-a-command-by-putting-a-string-into-a-tty/48221
-
Отже, щоб відповісти на оригінальне запитання, яке було задано майже 9 років тому, для роботи з cron потрібно було б запустити невеликий скрипт / програму утиліти, подібну до тих прикладів, які люди написали для цього іншого запитання, який би надіслав рядок "стоп \ n" на цей серверний процес у запитанні, надсилаючи кожен з 5 байтів через IOCTLоперацію типу TIOCSTI.
Звичайно, це буде працювати лише в системах, що підтримують TIOCSTI IOCTLтип операції (наприклад, Linux), і тільки з rootоблікового запису користувача, оскільки ці "файли" під /proc/"належать" root.