我的问题与this非常相似,但我希望澄清一下。我特别询问Windows。在那里的评论中注意到我们可以检查父进程。这没关系,但我想知道实际上有多强大。
答案 0 :(得分:1)
没有可靠的方法来验证流程是否是为响应用户交互而启动的。
当用户启动程序时,您是否可以指望父进程始终相同(以及那将是什么)?
没有。用户可以与之交互的应用程序数量无限,无法启动进程(Windows文件资源管理器,Total Commander,Windows命令提示符,ConEmu,Cygwin等)。此外,在您检查时,父进程可能很久就会消失。
相反,如果某个程序是由另一个程序启动的,那么它是否会以某种方式显示用户启动它?
用户启动的流程没有固有属性。你是否可以建立一个不存在的财产的问题是相当哲学的。