Linux 中 C 语言程序的一些选项

Some options for programs on C in Linux

我想知道我是否可以 运行 一些带有选项的已编译 C 程序,例如 main.exe,使它在程序运行后休眠?或者我可以 运行 立即执行第二个程序并使用 运行 main.exe 的过程吗? 我需要计算进程的内存,当我在后台执行时 /proc/[pid]/statusps aux 显示不正确的值,因为 main.exe 工作得如此之快。 或者我可以使用一个 fork() 在 C 中执行 2 个程序?或者可以选择 execvexecl?

如果您有权访问应用程序的源代码,只需插入代码以在您要测量的点向自身发送信号 SIGSTOP:

 raise( SIGSTOP );

然后你可以测量你想要的任何东西,并通过从外部发送 SIGCONT 来让程序运行。如果你没有这样的访问权限,你可以尝试 运行 这个过程并向外发送信号,例如通过 shell 脚本,但你需要延迟播放:

#!/bin/bash
./main.exe &
sleep 0.1 # this may not work on your distro, you will need to find how to sleep subsecond
kill -SIGSTOP %1

在Linux中,time命令可以用来计算执行时间,内存占用等

参考http://linux.die.net/man/1/time

用法::

$ time main.exe