12.可配置默认启动参数.配置后以后启动则以默认启动参数打开串口。如果您的程序是个守护进程,那么也不要紧,我们 只要在别的终端下杀死memcheck进程(因为valgrind默认使用memcheck工具,就是默认参数—tools=memcheck):#killall memcheck这样我们的程序(./a.out)就被kill了2.检查代码覆盖和性能瓶颈:我们调用valgrind的工具执行程序:#valgrind --tool=callgrind ./sec_infod会在当前路径下生成callgrind.out.pid(当前生产的是callgrind.out.19689),如果我们想结束程序,可以:#killall callgrind然后我们看一下结果:#callgrind_annotate --auto=yes callgrind.out.19689 >log#vim log3.valgrind使用参数 --log-fd=n 默认情况下,输出信息是到标准错误stderr,也可以通过—log-fd=8,输出到描述符为8的文件 --log-file=filename将输出的信息写入到filename.pid的文件里,pid是运行程序的进行id。b)从命令行运行unity,并提供参数(这里参数“11”是随意写的,作用是让mac启动一个新的进程,末尾的“&”表示后台启动进程):。
tianfang > run &
[1] 11319
tianfang >
进程切换到后台的时候,我们把它称为job。切换到后台时会输出相关job信息,以前面的输出为[1] 11319例:[1]表示job ID是1,11319表示进程ID是11319linux命令。
切换到后台的进程,仍然可以用ps命令查看:
tianfang > ps
PID TTY TIME CMD
5170 pts/3 00:00:00 bash
11319 pts/3 00:00:00 run
11320 pts/3 00:00:00 ps
tianfang >
可以通过jobs命令只查看所有job(后台进程):
tianfang > jobs
[1]+ Done run
tianfang >
前后台间切换
可以通过bg <jobid>(background)和fg<jobid>(foreground)命令将其在前后台间状态切换。例如,对于一个前台执行的进程,可以通过Ctrl+Z命令将其切换到后台,但此时是进程被挂起了:
tianfang > run
^Z
[1]+Stoppedrun
此时通过bg就可以让其继续执行:
tianfang > bg 1
[1]+ run &
tianfang >
在后台执行后,又可以通过fg命令将其切换回前台:
tianfang > fg 1
run
^C
tianfang >
Shell退出后进程继续执行
当Shell退出后,该Shell下运行的job会收到SIGHUB信号,进而使其退出。然而,很多时候,我们不想让其长期运行,不想受到Shell退出的影响。一种方式就是通过disown-h<psID>命令,让特定job忽略SIGHUB信号
tianfang > run &
[1]24582
tianfang > disown -h24582
tianfang >
由于需要动态的进程号作为参数,要用脚本运行的话,则可以通过%1来获取这个进程号: