Linux中C程序的一些选项

时间:2015-07-30 13:08:04

标签: c linux fork

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

2 个答案:

答案 0 :(得分:1)

在Linux中,time命令可用于计算执行时间,内存使用情况等

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

用法::

$ time main.exe

答案 1 :(得分:0)

如果您可以访问应用程序的源代码,只需插入代码以在您要测量的点发送信号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