Linux操作命令&静态库和动态库区别&大小端&孤儿僵尸进程

1.Linux操作命令

cd:切换当前目录

ls:查看当前文件与目录

grep:通常与管道符命令一起使用,用于对一些命令的输出进行筛选和加工

cp:复制文件或文件夹

mv:移动文件或文件夹

rm:删除文件或文件夹

ps:查看进程情况

kill:向进程发送信号

tar:对文件进行打包

cat:查看文件内容

top:查看操作系统的信息,如进程,CPU占用率,内存信息

free:查看内存使用情况

pwd:显示当前工作目录

2.静态库和动态库如何制作及使用,区别?

命名规则、制作指令、使用、区别

1.静态库的制作与使用-命名规则

Linux:

libxxx.a

lib:前缀(固定)

xxx:库的名字,自己命名

.a:后缀(固定)

Windows:

libxxx.lib

2.动态库的制作与使用-命名规则

Linux:

libxxx.so

lib:前缀(固定)

xxx:库的名字,自己命名

.so:后缀(固定)

Windows:

libxxx.dll

3.区别

1.链接时间和方式

静态库 :静态库gcc进行链接 时,会把静态库中的代码打包到可执行程序中,编译时加载。

发布程序时无需提供静态库,移植方便

消耗内存,更新部署发布麻烦

动态库: 动态库gcc进行链接 时,动态库的代码不会打包到可执行程序中,运行时加载。

发布程序时需要提供动态库

占用内存小,更新部署发布简单

3.大端和小端判断方式

大端和小端指的是字节序,顾名思义就是字节的顺序。就是大于一个字节类型的数据在内存中存放的顺序。

大端:一个整数的最高位字节存储在内存的低地址处。

小端:高存高。

定义变量int i=1;将 i 的地址拿到,强转成char*型,这时候就取到了 i 的低地址,这时候如果是1就是小端存储,如果是0就是大端存储。

cpp 复制代码
void panduan(){
    int i = 1;
    char c = (*(char*)i);
    
    if(c)
        cout<<"小端\n";
    else
        cout<<"大端\n";
}

4.什么是孤儿进程,什么是僵尸进程,如何解决僵尸进程

孤儿进程:

孤儿进程指的是一个父进程退出后,而他的一个或多个子进程还在运行中,那么这些子进程将成为孤儿进程。

孤儿进程将被init进程(进程号为1)所收养,并且由init进程对他们完整状态收集工作,孤儿进程一般没有危害。

僵尸进程:

僵尸进程是指一个进程使用fork() 函数创建子进程,如果子进程退出,而父进程没有调用wt()或者wtpid() 系统调用取得子进程的终止状态,那么子进程的进程描述符仍旧保存在系统中,占用系统资源,这种称为僵尸进程。

解决僵尸进程:

为了防止僵尸进程,在fork() 函数创建子进程后,要及时在父进程中使用**wt()或者wtpid()**系统调用,等子进程结束后,父进程回收子进程PCB资源。

当子进程退出的时候,内核会给父进程一个sigchld信号,所以可以建立一个捕获sigchld信号的信号处理函数,在函数体中调用wt()或者wtpid(),就可以清理退出的子进程防止僵尸进程。

相关推荐
RD_daoyi5 小时前
外链权重暴跌至13%,品牌提及反超传统链接——2026年不做Digital PR,你的独立站等于隐形
运维·网络·学习·机器学习·搜索引擎
电商API_180079052475 小时前
企业ERP进销存场景|京东商品详情接口自动同步方案|凭证鉴权批量调用技术实操
大数据·运维·人工智能·爬虫·数据挖掘·网络爬虫
张小姐的猫6 小时前
【Linux】网络编程 —— HTTP协议(上)
linux·运维·服务器·网络·http·单例模式·策略模式
国科安芯6 小时前
星间光链路:AS32S601型抗辐射MCU在空间激光通信终端控制中的技术实现
服务器·网络·单片机·嵌入式硬件·物联网·安全·信息与通信
小稻穗6 小时前
市场调研样本选型坐标系:2026六家国内样本平台能力横向校验
大数据·运维·数据分析
栩栩云生6 小时前
AI 写代码犯的错,早被写进了错题集
linux·安全·ai编程
AOwhisky6 小时前
Python 学习笔记(第十三期)——运维自动化(下·前篇):远程命令执行——paramiko基础篇
运维·python·学习·云原生·自动化·运维开发·paramiko
AOwhisky7 小时前
Python 学习笔记(第十四期)——运维自动化(下·中篇):远程文件传输——paramiko进阶篇
运维·python·学习·云原生·自动化·文件传输·paramiko
imc.117 小时前
linux基础IO
linux·运维·服务器
躺不平的理查德7 小时前
让Ubuntu 的第二块网卡 ens37 永久固定为 192.168.30.111
运维·服务器