Есть ли стандартный способ (ish) POSIX для определения моего процесса (сейчас я пишу это как скрипт Ruby, но мне любопытно, что для нескольких сред, включая Node.js и приложения командной строки ISO C) выполняется в интерактивном терминале, в отличие от, скажем, cron, или исполнения от другого инструмента, или ... так далее и т. д.Как определить, выполняется ли мой процесс в интерактивном режиме?
В частности, мне нужно получить пользовательский ввод в определенных ситуациях, и мне нужно обязательно фатально, если это determinably не представляется возможным (т.е. руководят хрон.) Я могу сделать это с помощью переменной окружения, но я я предпочитаю что-то более стандартное, если смогу.
Для тех, кто пришел сюда в поисках окон, попробуйте System.Environment.UserInteractive для .Net или GetUserObjectИнформация для win32, которая не удастся для неинтерактивных процессов. – Mitch
Вы могли бы добавить это как реальный ответ и получить репутацию от него. (= – ELLIOTTCABLE