在服务器上用VIM编辑器编写一个程序:一个进程创建(fork)两个子进程。给出源代码:
源代码运行结果:
打印1所创建的进程树结构,给出带有自己名字的截图。
(1) ps -ef 运行:
字段分析:
UID:用户ID名:nixiaodong
PID:该进程ID:18997
PPID:该进程的父进程ID,由进程18997创建的两个进程18998,18999的父进程均为18997
C:CPU占用率,当前为0
STIME:进程开始时间,改进程为19.05
TTY:用户的终端机位置
TIME:进程所占用CPU的时间,为0
CMD:可执行文件名
(2) ps -aux 运行:
字段分析:
USER:用户ID
PID:该进程ID
%CPU:该进程所占CPU百分比
%MEM:该进程所占内存百分比
VSZ:该进程所用虚拟内存量
RSS:该进程所用固定内存量
TTY:用户终端机位置
STAT:进程状态
S为休眠
S+有子进程的进程
START:进程开始时间
TIME:进程占用CPU的时间
COMMAND:当前指令内容
4. 通过该实验产生新的疑问及解答
ps -ef 指令和ps -aux指令有什么区别?
答:ps -ef 指令和ps -aux指令但是用来显示当前运行进程,没有什么差别,ps -aux 是用BSD格式来显示而ps -ef是用标准格式显示,两者输出略有不同。
结合实例(实例可以是写一个输出Hello World的简单程序)分析Linux可执行文件构成。
hello world实例:
使用%!xxd将将当前文本转换为16进制格式:
使用命令将文本转换为16进制字符数组,前面8位16进制数代表行,每行后面8组数代表16字节,所以每组的两个16进制数代表一个字节,最后的0a实际上是0x0a,表示换行,我们可以在16进制下进行编辑:
如:696e代表字符in,将第一行的696e改为4141(即字符AA的ASCII码)
然后使用%!xxd -r 将当前文件转换回文本格式
原文:https://www.cnblogs.com/qq1803085022/p/12633971.html