Linux下进度条小程序、软件的几种安装方法、进程PCB(task_struck)结构体讲解

彩色进度条程序:

#include<stdio.h>
#include<unistd.h>//系统调用头文件

int main(){
  const char sign[]= "-\\|/";//旋转标记字符
  char str[1024] = {0};//#进度条字符
  size_t i = 0;
  for(;i<=100;i++){
    str[i] = '#';
    printf("\033[40;33m""[%d%%][%c]%s\r""\033[0m",i,sign[i%4] ,str);// “\r” 回车,"\033[40;33m"设置打印字体, "\033[0m" 关闭字体设置
    fflush(stdout);//刷新缓冲区
    usleep(10000);//睡眠10000微妙
  }

  printf("\n");
  return 0;
}

Makefile

progress_bar:progress_bar.o
        gcc progress_bar.o -o progress_bar
progress_bar.o:progress_bar.s
        gcc -c progress_bar.s -o progress_bar.o
progress_bar.s:progress_bar.i
        gcc -S progress_bar.i -o progress_bar.s
progress_bar.i:progress_bar.c
        gcc -E progress_bar.c -o progress_bar.i

.PHONY:clear
clear:
        rm -f progress_bar.i progress_bar.s progress_bar.o 
.PHOMY:debug
debug:
        gcc -g progress_bar.c -o progress_bar

结果:
进度条


软件的几种安装方法:

源码安装:

源代码安装的好处是兼容性更好,如果rpm编者的系统和安装者的系统有略微差异,再按照他的规则安装的话会有些许性能影响,从源代码安装应用程序需要以下几部:
1)下载并解压文件
.tar.gz后缀用tar -xzvf xxx.tar.gz解压
.tar.b2后缀用tar -xjvf xxx.tar.b2解压
.tar后缀用tar -xvf xxx.tar解压
2)配置安装路径
在/usr/local下创建软件安装目录
mkdir /usr/local/appname
进入源代码所在目录,配置安装路径
./configure -prefix=/usr/local/appname
3)编译源代码
make
4)安装
make install

rpm安装:

rpm安装的出现就是为了解决软件安装复杂性问题的,通过将源代码与安装规则统一打包,实现一个序列便可完成安装,rpm安装的步骤如下:
1)下载rpm包
2)切换到root用户,进入rpm包所在目录
3)安装
rpm -ivh appname.rpm

yum安装:

为了解决软件依赖性问题,yum技术从而产生,yum能够从指定的服务器自动下载rpm包并安装,可以自动处理依赖性关系,一次安装所有依赖的软件包。yum的安装步骤如下:
yum install appname
注:yum安装必须连网哦!!!


task_struck讲解:

task_struct结构体中总共包含以下几种数据:
- 标示符:用于描述本进程与其他进程的唯一标示。
- 状态:进程的状态(运行、睡眠、暂停等),退出码等。
- 优先级:用于进程调度的先后依据。
- 程序计数器:程序将要执行的下一条指令的地址。
- 内存指针:包括本进程程序、数据的指针,以及与其他进程共享内存的指针。
- 上下文数据:进程调度时,便于进程被再次切换回来需要保存的堆栈数据、寄存器数据等。
- I/O状态信息:包括显示的I/O请求、分配给进程的I/O设备信息、进程使用的文件列表等。
- 记账信息:包括处理器时间总和、使用的时钟数总和、时间限制、记账号等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值