进程相关命令
查看进程(快照)
ps aux / ajx // a:显示终端上的所有进程,包括其他用户的进程 // u:显示进程的详细信息 // x:显示没有控制终端的进程 // j:列出与作业控制相关的信息
实时显示进程的动态
top // 可以在使用top命令时加上-d来指定显示信息更新的时间间隔,在top命令执行后,可以按以// 下按键对显示的结果进行排序: /* M 根据内存使用量排序 P 根据CPU占用率排序 T 根据进程运行时间长短排序 U 根据用户名来筛选进程 K 输入指定的PID杀死进程 */
杀死进程
kill [-9] pid
kill [-signal] pid kill -l //列出所有信号 killall name //根据进程名杀死进程
后台运行
// 命令行后加取地址符 & // 如 ./hello &
进程号获取
pid_t get pid(void); // 获取当前进程id pid_t get ppid(void); // 获取当前进程父进程id pid_T get pgid(void); // 获取当前进程组的id
进程创建
/* 进程创建 #include <sys/types.h> #include <unistd.h> pid_t fork(void); 调用一次,返回两次,0为子进程,> 0为父进程,如果返回-1,则创建失败 并发执行 相同但是独立的地址空间 共享文件 刚fork时,子进程和父进程指向相同的虚拟地址空间,且页面都标记为只读,私有的写时复制 只有两个进程中任意一个进行写操作时,就会触发写时复制 */ #include <sys/types.h> #include <unistd.h> #include <stdio.h> int main() { pid_t pid = fork(); int a = 0; if(pid == 0) { a++; printf("In Child Process, and the pid is %d, the ppid is %d \n", getpid(), getppid()); } else { a++; printf("In Parent Process, and the pid is %d, the ppid is %d \n", getpid(), getppid()); } printf("%d \n", a); return 0; }
自己选择的路,跪着也要走完。朋友们,虽然这个世界日益浮躁起来,只要能够为了当时纯粹的梦想和感动坚持努力下去,不管其它人怎么样,我们也能够保持自己的本色走下去。