是否有一个标准(ish)POSIX方法来确定我的过程(我现在将它写成Ruby脚本;但我对多个环境感兴趣,包括Node.js和ISO C命令行应用程序)正在交互式终端中运行,与cron或其他工具的执行相反,或者......等等。我需要在某些情况下获取用户输入,如果可以确定的话,我需要致命地失败不可能(即由cron运行)。我可以用环境变量来做到这一点,如果可以的话,更喜欢更标准的东西。如何确定我的流程是否正在交互式运行?
12
A
回答
13
我一直使用$stdout.isatty
来检查这个。其他方法可能包括检查ENV['TERM']
的值或使用ruby-terminfo宝石。
+1
'isatty'似乎是ruby IO类的一部分:http://ruby-doc.org/core-2.2.2/IO.html#method-i-isatty – akostadinov 2015-08-11 20:31:55
4
AFAIK最接近你的是isatty()。但正如页面本身所说,没有什么能保证人类正在控制终端。
相关问题
- 1. 如何以编程方式确定ehcache是否正在运行?
- 2. 确定进程是否正在运行?
- 3. 如何确定我的python脚本是否正在运行?
- 4. VBS如何确定程序是否正在运行
- 5. 以编程方式确定IIS站点是否正在运行
- 6. 如何判断makefile是否从交互式shell运行?
- 7. 是否可以在非交互模式下运行WSL Bash?
- 8. 有没有办法确定Java System.in是否是“交互式”?
- 9. 如何确定一台机器是否正在运行Active Directory
- 10. 如何确定PHPUnit测试是否正在运行?
- 11. 我在Android中执行线程的方式是否正确?
- 12. 如何在MFC应用程序中交互式运行Flash?
- 13. 从java运行交互式Dos程序
- 14. 如何检查某人是否正在运行我的程序?
- 15. 如何检查给定PID的过程是否正在运行?
- 16. 如何正确调用LsaLogonUser进行交互式登录?
- 17. PyGreSQL交互式运行SQL
- 18. 运行Build.pl非交互式
- 19. 如何以编程方式确定Windows是否正在关机?
- 20. 我的Git工作流是否正确?
- 21. 如何在python中与正在运行的进程进行交互?
- 22. 如何确定.NET代码是否在ASP.NET进程中运行?
- 23. 如何确定我的mod_wsgi应用程序是否在HTTPS上运行?
- 24. 如何确定我的GWT应用程序是否在帧/ iframe中运行?
- 25. 如何以编程方式检查Zookeeper是否正在运行
- 26. 如何以编程方式检查Zookeeper是否正在运行?
- 27. 如何使用wsadmin Jython脚本确定应用程序是否正在运行?
- 28. 让Shiny Server(真正bigrquery)认为R正在交互式运行
- 29. 确定.Net核心控制台应用程序是否以用户交互模式运行
- 30. 如何确定WiX安装程序是安静还是交互式?
对于任何来这里寻找windows的人来说,对于win32来说,请尝试System.Environment.UserInteractive for .Net或者GetUserObjectInformation,这对于非交互式进程将会失败。 – Mitch 2011-07-06 20:10:48
你可以添加,作为一个实际的答案,并从中获得声誉。 (= – ELLIOTTCABLE 2011-07-09 19:39:46