【发布时间】:2018-01-16 09:44:09
【问题描述】:
有什么方法可以知道进程是从 exec() 调用开始运行还是由用户从终端启动?
【问题讨论】:
-
从终端启动的进程也是通过
exec()启动的。 -
有趣(+1)。出于兴趣,您可以在 Windows 中执行此操作。这在某种程度上使这个问题合法化,至少恕我直言。不过,各种 UNIX 在这方面“更纯粹”,所以很可能不是。
-
parent ID 可以作为提示吗?
-
检查exec()的返回值。
-
你可以建立进程树来区分终端启动的进程和其他进程。