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設備信息、進程使用的文件列表等。
- 記賬信息:包括處理器時間總和、使用的時鐘數總和、時間限制、記賬號等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章