c - 如何在 C 的 useconds 中获取当前进程的开始时间?

标签 c linux time process uptime

<分区>

我需要获取当前进程开始的时间点(或与纪元的差异,以及纪元)。它必须具有高分辨率 - 至少以微秒(10^-6 秒)为单位。我基本上对 Linux 环境感兴趣,尽管我认为一般性答案对其他人有用。

我知道其他编程语言(例如 C#、Python)对此有一定的便利;通过翻阅有关 C 语言标准库的信息,他们似乎没有。

我也知道 /proc/self/stat 有一个正常运行时间数字 - 但那是一瞬间的,而一瞬间就是很多时间。此外,我宁愿不需要开始同步不同系统/库调用的时间(一个用于正常运行时间,另一个用于当前时间)。

注意:相关问题,start time of a process on linux , 考虑到以 为单位的开始时间,而我需要分辨率更高的东西。

最佳答案

我怀疑你在 /proc/self/stat 中找到的是你可能得到的最好的,这可能是操作系统本身所知道的事后开始时间。也许您在 C# 和 Python 中拥有的只是为了您的方便将其转换为微秒。

关于c - 如何在 C 的 useconds 中获取当前进程的开始时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29575646/

相关文章:

cat 终端,检查 usb 是否已移除(错误)?

c - 如何在 Windows 上截取屏幕截图并将其另存为 JPEG?

python - 在 Linux 上伪造 IO 错误

mysql - 计算同一表上的行之间的日期时间行差异

C 宏串联创建结构体

c - 尝试学习 C 中的动态内存分配

linux - 用于解压缩文件并按顺序读取它们的 Shell 脚本

linux - 写入内存映射文件后,什么会更新mtime?

jQuery 时间格式插件

java - 如何将时间戳附加到 rdd 并推送到 elasticsearch