进程:进程就是正在运行的程序,它会占用对应的内存区域,由CPU进行执行与计算。
线程:线程是操作系统OS能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.
文件解压缩命令:
一步解压命令:
tar zevf file.tar.gz main.c add.c mul.c
tar zxvf file.tar.gz
1.ps命令
(1) ps命令: 默认显示当前终端进程信息。
-e 显示系统中所有的进程信息
-f 显示更多的进程属性信息(全格式)
-L 显示当前终端上的进程信息,线程LWP信息
ps -ef 展示系统上所有进程的详细信息
例:
(2).& 后台启动程序(main 一个可执行程序)
启动程序: ./main -> 路径+可执行程序 默认执行前台
./main & ->后台运行程序
(3).前台程序与后台程序的模式切换 bg fg
bg_% 任务号 进程/挂起程序,调到后台执行
fg_% 任务号 将后台进程 调到前台执行
kill 结束进程
kill 任务号 结束当前进程 kill -STOP 任务号 挂起进程
[1] 任务号 PID 进程号
(3). shutdown -h now 立刻关机 shutdown -r now 立刻重启
runlevel 查看系统运行级别
init 命令对应的数字
2 动态库与静态库
静态库:格式必须是 lib***.a
(1) add.c mul.c 编译 add.o mul.o
例: gcc -c add.c mul.c
(2) 创建静态库:
例: ar crv libfoo.a add.o mul.o
(3) 使用静态库
静态库链接特点: 每一个程序 静态库链接文件,生成的可执行文件都有一份副本
动态库:格式必须为是:lib***.so
(1) .c文件 编译生成 .o 文件 例:gcc -c add.c mul.c
(2) .o 生成 共享库文件
例:gcc -shared -fPIC -o libfoo.so add.o mul.o
生成 libfoo.so 库文件
动态库放 /lib 或者 /user/lib 路径下
(3) 共享库的使用
使用方法1:
使用方法2:修改环境变量,使得动态链接路径由原来的 /usr/lib 或 /lib 修改为自定义路径
例: