我有一个在Linux系统上运行的简单C / CPP进程。这是一个。

另一个进程能够在其代码中启动a.out。这是出局。

我需要在a.out内部使用什么代码来了解它是从命令行执行的?
例如./a.out

有一种方法可以知道它是从cmd启动还是从另一个进程启动?

最佳答案

我将在父进程中将环境变量设置为某个值(例如父pid),然后让子进程检查它。

Shell用户不太可能设置此变量(称其为不太可能发生名称冲突),因此,如果将此变量设置为期望值,那么您就知道它是从父进程启动的。

关于c++ - 从命令行启动?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3957807/

10-11 23:19
查看更多