1.查看指定进程:ps aux|grep 进程名
ps aux|grep -v "grep" flow-interface:显示flow-interface进程,
并且过滤掉grep flow-interface
有时也可以使用ps aux|grep flow-interface
top -p 21538
查看ID为21538的进程
kill -9 PID1 PID2 PID3
同时结束PID1、PID2、PID3三个进程
2.对了 还有 就是 你kill之后 还是不行的
程序会自动启动的
需要在计划任务列表中 把启动项注释掉
crontab -e
把watchdog 前面加#注释掉
3.修改SecureCRT显示字符编码方式,选项->会话选项->外观->字体->字符编码,选择UTF-8或者默认。
4.
#ifdef MYDBG
printf("flow-interface is start!\n");
#endif
5.gdb调试命令:
l l命令相当于list,从第一行开始例出原码
break 16 设置断点,在源程序第16行处
delete 1 可删除单个断点,删除标号为1的断点,而非程序行号
delete 1-10 删除1-10个断点,删除标号为1-10的断点
clear 删除所选定的环境中所有的断点
break func 设置断点,在函数func()入口处
info break 查看断点信息
r 运行程序,run命令简写,若程序已经运行,再次输入命令r,
则调试将被复位,程序重新从第一行代码开始运行
n 单条语句执行,next命令简写
s 进入函数的单步执行,step简写
c 继续运行程序,continue命令简写
p i 打印变量i的值,print命令简写
bt 查看函数堆栈
finish 退出函数
q 退出gdb
gdb中打印字符串:p str
例如str[20] = "hello";p str
如果不能完整输出所以数据,可以set print element 0,然后在使用p str,就可以完整输出。
6.如何用gdb调试守护进程
如果在gdb下运行调试子进程或调试守护进程,在gdb环境下首先运行以下两条命令:
set follow-fork-mode child
set unwindonsignal on
这样就可以在父进程被杀死后,就可以跟踪子进程的运行状况!
7.
预处理
gcc -o test.i test.c -E
编译
gcc -o test.s test.i -S
汇编
gcc -o test.o test.s -c
链接
gcc -o test.out test.o