linux shell scripts程式設計問題

Build a process management utility that allows you to kill processes on the basis of their CPU usage, user ID,

total elapsed time, and so forth.

This kind of utility would be especially useful to system administrators.

我只知道ps可以秀出系統執行中的程序

但我該如何符合題目要求完成此utility?

已更新項目:

老師說不可以用shell內建的功能

也就是說不可以直接用top或著ps

2 個解答

評分
  • Chiu
    Lv 4
    1 0 年前
    最佳解答

    如果是 linux 的話, 不透過 ps 或 top ,可以直接讀 /proc 下面的那些數字目錄.

    例如 /proc/[0-9]*/stat 應該可以拿到你需要的資訊

    http://www.die.net/doc/linux/man/man5/proc.5.html

    man page 有告訴你怎麼用 scanf 去拿 stat 得資料

    /proc/[0-9]*/* 都是 process 相關資訊, 也可以參考 ps 的 source code 去拿那些值.

    給個範例

    ls /proc/[0-9]*/status | xargs grep -e ^Uid:

    可以列出 Process 的 Uid

    再用 awk 等 shell script 處理即可.

  • 1 0 年前

    基本上, 你要多找找 男人,

    man ps

    然後看看它的參數部份嚕....

還有問題?馬上發問,尋求解答。