34
ססססס סס'7 בבבבבב בבבבבבבבב בUNIX בבבבב בבבבבבב - בבבב בבבבבבב בUNIX

תרגול מס' 7

  • Upload
    santa

  • View
    40

  • Download
    7

Embed Size (px)

DESCRIPTION

תרגול מס' 7. תכניות סטנדרטיות ב UNIX שאלות ממבחנים בקרת תהליכים ב- UNIX. תכניות סטנדרטיות ב- UNIX. grep cut wc tee. head tail sort uniq. echo printf. תכניות סטנדרטיות ב- UNIX. אופי העבודה בטרמינל וקיום כלים נוחים להרכבת פקודות מעודדים יצירת תכניות בסיסיות הניתנות להרכבה - PowerPoint PPT Presentation

Citation preview

Page 1: תרגול מס'  7

7תרגול מס' תכניות סטנדרטיות בUNIXשאלות ממבחנים-בקרת תהליכים בUNIX

Page 2: תרגול מס'  7

2מבוא לתכנות מערכות - 234122

UNIXתכניות סטנדרטיות ב-

grepcutwctee

headtailsortuniq

echoprintf

Page 3: תרגול מס'  7

3מבוא לתכנות מערכות - 234122

UNIXתכניות סטנדרטיות ב- אופי העבודה בטרמינל וקיום כלים נוחים להרכבת פקודות מעודדים יצירת

תכניות בסיסיות הניתנות להרכבה

קיים מגוון בסיסי של תכניות הזמינות בכל מערכת הפעלה ממשפחתUNIX

:צורת ההפעלה של התכניות היא בד"כ מהצורה הבאה

> <command> [options] [input file]לרוב הפקודות, אם לא יצוין קובץ קלט, הקלט ילקח מהקלט הסטנדרטי )למה?(–

בד"כ ניתן להחליף את הסדר בין שם קובץ הקלט לדגלים–

זכרו כי מלבד הדגלים שילמדו כאן ניתן למצוא רשימה מפורטת שלהם ע"יmanשימוש בפקודה

Page 4: תרגול מס'  7

4מבוא לתכנות מערכות - 234122

תזכורת

הפקודהls מדפיסה את הקבצים המבוקשים

> ls [options] [files]אם פלט הפקודה מופנה לקובץ כל קובץ יופיע בשורה נפרדת–

אם מצוינים שמות קבצים ותיקיות כפרמטרים:–

כל קובץ יודפס למסך•

לכל תיקיה יודפס תוכנה•

אם לא מצוינים פרמטרים מלבד דגלים הפקודה פועלת על התיקיה נוכחית–

הפקודהcat מדפיסה את תוכנם של קבצים למסך

> cat [files]אם לא מצוין שם קובץ הקלט נלקח מהקלט הסטנדרטי–

אם מצוינים מספר קבצים הם מודפסים אחד אחרי השני לפלט–

Page 5: תרגול מס'  7

5מבוא לתכנות מערכות - 234122

headהפקודה הפקודהhead:מדפיסה רק את תחילת הקלט

> head [-n#] [files]

השורות הראשונות בקלט#מדפיסה את שורות10אם לא מוגדר מספר יודפסו –

יודפסו כל שליליאם המספר שהוגדר –השורות מלבד # השורות האחרונות

-#עבור מספר חיובי ניתן לרשום גם –

a line 1a line 2a line 3a line 4a line 5

a_file

b line 1b line 2b line 3

b_file

> head –n+2 a_filea line 1a line 2> head –n+1 < b_fileb line 1> head –n-2 a_file b_file==> a_file <==a line 1a line 2a line 3

==> b_file <==b line 1

Page 6: תרגול מס'  7

6מבוא לתכנות מערכות - 234122

tailהפקודה הפקודהtail:מדפיסה רק את סוף הקלט

> tail [-/+#] [files]

מדפיסה את # השורות האחרונות בקלט-#עבור –

מדפיסה החל מהשורה ה-#+#עבור –

השורות האחרונות10ברירת המחדל היא הדפסת –

כיצד נדפיס את שורות– מקובץ מסוים?2-3

a line 1a line 2a line 3a line 4a line 5

a_file

b line 1b line 2b line 3

b_file

> tail -2 a_filea line 4a line 5> tail +2 a_filea line 2a line 3a line 4a line 5> tail -1 a_file b_file==> a_file <==a line 5

==> b_file <==b line 3

> head –n+3 a_file | tail -2a line 2a line 3

Page 7: תרגול מס'  7

7מבוא לתכנות מערכות - 234122

sortהפקודה הפקודהsort)מדפיסה את הקלט ממוין )לפי שורות

> sort [options] [files]–-nממיינת מספרים לפי ערכם :

–-r)מדפיסה את התוצאות בסדר יורד )ברירת המחדל היא סדר עולה :

–-k##-מתייחס לכל שורה החל מהמילה ה :

1המילים ממסופרות החל מ-•

–-f מתעלם מהבדלי :uppercase/lowercase ההתעלמות היא ברירת המחדלsortבחלק מהמימושים של •

–-bמתעלם מרווחים בתחילת השורה :

–-sמבצע מיון יציב - שומר על הסדר המקורי בין שורות שערכן שווה :

Page 8: תרגול מס'  7

8מבוא לתכנות מערכות - 234122

sortדוגמאות - > sort dataFatherWorldforwho> sort -f dataFatherforwhoWorld> sort -r datawhoforWorldFathersort -rf dataWorldwhoforFather

> ls -ltotal 4-rw------- 1 romano root 520 Nov 8 23:09 data-rw------- 1 romano 368 43 Nov 8 23:12 ex1-rw------- 1 romano 368 428 Nov 8 23:22 ex2-rw------- 1 romano 368 322 Nov 10 13:30 ex3> ls -l | sort -rnk5-rw------- 1 romano root 520 Nov 8 23:09 data-rw------- 1 romano 368 428 Nov 8 23:22 ex2-rw------- 1 romano 368 322 Nov 10 13:30 ex3-rw------- 1 romano 368 43 Nov 8 23:12 ex1total 4

WorldwhoforFather

data

211

numbers> sort numbers112> sort -n numbers211

Page 9: תרגול מס'  7

9מבוא לתכנות מערכות - 234122

uniqהפקודה הפקודהuniqמדפיסה עותק יחיד של שורות זהות סמוכות

> uniq [options] [input [output]]עבור קובץ ממוין שורות זהות לא יודפסו יותר מפעם אחת–

- היא מקבלת את הקלט מקובץ יחיד אינה במבנה הסטנדרטי הפקודה –והארגומנט הנוסף ישמש לקובץ הפלט

–-cמדפיס כל שורה פעם אחת ואת מספר העותקים שלה :

–-dמדפיס רק שורות המופיעות יותר מפעם אחת :

–-uמדפיס רק שורות המופיעות פעם אחת בלבד :

בבת אחתc/-d/-uהאפשרויות מבין -רק באחת ניתן להשתמש •

: התעלם מ-# המילים הראשונות )בקבלת ההחלטה האם שורות זהות(-#–

Page 10: תרגול מס'  7

10מבוא לתכנות מערכות - 234122

uniqדוגמאות - > uniq file3onetwothreeone> uniq file3 list> cat listonetwothreeone> uniq sentencesThis is sparta!It is sparta!Bye bye sparta!> uniq -1 sentencesThis is sparta!Bye bye sparta!> uniq -2 sentencesThis is sparta!

UriDanUriElenaAlexOfraUriOfra

names

onetwotwothreethreethreeoneone

file3> sort names | uniqAlexDanElenaOfraUri> sort names | uniq -uAlexDanElena> sort names | uniq -dOfraUri> sort names | uniq -c 1 Alex 1 Dan 1 Elena 2 Ofra 3 Uri

This is sparta!It is sparta!Bye bye sparta!

sentences

Page 11: תרגול מס'  7

11מבוא לתכנות מערכות - 234122

grepהפקודה הפקודהgrepמחפשת ביטויים בתוך קבצים

> grep [options] <expression> [files]ניתן לחפש מילים מסוימות או ביטויים מורכבים–

מדפיסה את כל השורות בקובץ המכילות את הביטוי שהוגדר–

–-vמדפיסה את השורות בהן לא מופיע הביטוי :

–-i מתעלם מהבדלי :uppercase/lowercase–:-w< מדפיסה את כל השורות בהן expression)מופיע בדיוק )לא כתת מחרוזת >

לשאר המחרוזת בעזרת כל תו שאינו אותיות או expression מפריד בין wהשימוש ב-•מספרים.

–-nהדפס את השורות ואת מספרן בקבצים :

–-lהדפס רק את שמות הקבצים בהן נמצאו שורות מתאימות :

–-cהדפס רק את כמות השורות שנמצאו בכל קובץ ללא הדפסת השורות עצמן :

הביטוי לחיפוש יכול להיות מורכב יותר ממילה פשוטה:–

גרשייםכדי לחפש מחרוזת עם רווחים יש להוסיף •

את סוף השורההתו $ מייצג תחילת שורה והתו ^ •

grep של manניתן לחפש ביטויים מורכבים יותר, לשם כך הסתכלו בקובץ ה-•

Page 12: תרגול מס'  7

12מבוא לתכנות מערכות - 234122

grepדוגמאות - > grep cow farm1cow Betsyslim cow Dazytwo cows Dartsy & Teo> grep -v cow farm1goat UptonFat Cow Burgerhorse Admiral> grep -i cow farm1cow Betsyslim cow DazyFat Cow Burgertwo cows Dartsy & Teo> grep -w cow farm1cow Betsyslim cow Dazy> grep "slim cow" farm1slim cow Dazy> grep ^cow farm1cow Betsy

goat Uptoncow Betsyslim cow DazyFat Cow Burgertwo cows Dartsy & Teohorse Admiral

farm1> grep cow farm1 farm2farm1:cow Betsyfarm1:slim cow Dazyfarm1:two cows Dartsy & Teofarm2:cow Lenifarm2:cow Oreo> grep -n cow farm1 farm2farm1:2:cow Betsyfarm1:3:slim cow Dazyfarm1:5:two cows Dartsy & Teofarm2:2:cow Lenifarm2:4:cow Oreo> grep -l cow farm1 farm2farm1farm2> grep -c cow farm1 farm2farm1:3farm2:2> grep o$ farm1two cows Dartsy & Teo

sheep Brookcow Lenigoat Astercow Oreo

farm2

Page 13: תרגול מס'  7

13מבוא לתכנות מערכות - 234122

cutהפקודה הפקודהcut משמשת להפרדת עמודות מתוך הקלט

> cut <options> [files]–-c<list> בשורה המתאימים לאינדקסים המבוקשיםהתווים: הדפס רק את

–-f<list> בשורה המתאימים לאינדקסים המפורטיםהשדות: הדפס רק את

Tabהשדות בשורה מופרדים כברירת מחדל ע"י •אם התו המפריד אינו קיים בשורה תודפס כל השורה•

–-d"?"עבור שימוש באפשרות -תו המפריד : השתמש בתו שהוגדר כ(f)המבוקשים מורכבת ממספר אינדקסים מופרדים רשימת האינדקסים –

בפסיק, כאשר בנוסף ניתן לבקש טווח אינדקסים ע"י שימוש בתו - )מקף(

ומעלה10, ו-6, 5, 2, 1- ידפיס את התווים, c1,2,5-6,10למשל: -•

אם האינדקסים המבוקשים מחוץ לתחום תודפס שורה ריקה–

Page 14: תרגול מס'  7

14מבוא לתכנות מערכות - 234122

cutדוגמאות - > cut -c1-3,5,8-10 file1a11a a1b21b b2c31c c3> cut -d" " -f2,4 file1a12 a14b22 b24c32 c34> cut -d":" –f1 file2a11b21c31 c32 c33> cut -d":" –f2-3 file2a12:a13b22c31 c32 c33> cut -d" " -f-2,4- file1a11 a12 a14 a15b21 b22 b24 b25c31 c32 c34 c35

a11 a12 a13 a14 a15b21 b22 b23 b24 b25c31 c32 c33 c34 c35

file1

a11:a12:a13 b21:b22 c31 c32 c33

file2

Page 15: תרגול מס'  7

15מבוא לתכנות מערכות - 234122

wcהפקודה הפקודהwc משמשת לספירת תווים, מילים או שורת בקלט

> wc [options] [files]–-cמדפיסה את מספר התווים בלבד :

–-lמדפיסה את מספר השורות בלבד :

–-wמדפיסה את מספר המילים בלבד :

מדפיסה אתwcאם לא צוין דגל מסוים –כל שלושת המספרים

אם הפקודה מופעלת על מספר קבצים–שורת סיכוםמודפסת גם

> wc -w war_and_peace590234 war_and_peace> wc -l war_and_peace55480 war_and_peace> wc -c war_and_peace3348543 war_and_peace> wc mtm_ex2.h 120 641 4161 mtm_ex2.h> wc mtm_ex2.h parsing_example.c 120 641 4161 mtm_ex2.h 136 692 4543 parsing_example.c 256 1333 8704 total

Page 16: תרגול מס'  7

16מבוא לתכנות מערכות - 234122

teeהפקודה הפקודהteeמשמשת לשכפול הפלט

> tee [options] [files]משכפלת את הקלט הסטנדרטי ומדפיסה אותו לפלט הסטנדרטי ולכל אחד –

[filesמהקבצים ברשימה ]

–-aמשרשרת לקבצים במקום לכתוב אותם מחדש :

מבנה הפקודה אינו סטנדרטי, היא מקבלת–קלט רק מהקלט הסטנדרטי

> head -3 a_file | tee file1 file2 | tail -2a line 2a line 3> cat file1a line 1a line 2a line 3

Page 17: תרגול מס'  7

17מבוא לתכנות מערכות - 234122

printfהפקודה הפקודהprintf מאפשרת הדפסה מעוצבת של טקסט בדומה לפונקציה

Cב-

> printf <format> [arguments]–%sמציין במחרוזת הפורמט שיש להכניס כאן את ערך הארגומנט הבא :

–]-[%m[.n]s מדפיסה את המחרוזת המתאימה מרשימת המחרוזות כך :

תווים מהמחרוזת. n תווים ותכיל לכל היותר mשהתוצאה תהיה באורך

)מקף(.-אלא אם מופיע מיושרת לימין המחרוזת תהיה

> printf "%s %s! \n" Hello worldHello world!

> printf "%-10s %.5s!\n" Hello world.Hello world!

Page 18: תרגול מס'  7

18מבוא לתכנות מערכות - 234122

- סיכוםUNIXתכניות סטנדרטיות ב-

-ניתן להשתמש במגוון תכניות סטנדרטיות בUnix הפועלות משורת הפקודה ומבצעות פעולות בסיסיות

ניתן להדפיס את תחילת או סוף הקלט ע"יhead-ו tail ניתן למיין את הקלט לפי שורות בעזרתsort ניתן להשמיט שורות זהות בעזרתuniq ניתן לחפש שורות מסוימות בקבצים בעזרתgrep ניתן להפריד עמודות ספציפיות מהקלט בעזרתcut ניתן לספור את מספר המילים והשורות בקלט בעזרתwc ניתן לשכפל את ערוץ הפלט בעזרת הפקודהtee ניתן להדפיס מחרוזות בעזרתprintfו( echo)בתרגול קודם

Page 19: תרגול מס'  7

19מבוא לתכנות מערכות - 234122

שאלות ממבחנים - bash

שימוש בתכניות סטנדרטיות שלUnixבתסריטים

Page 20: תרגול מס'  7

20מבוא לתכנות מערכות - 234122

(21.7.95 )1שאלה

-כתוב תכנית בbashששמה arrange אשר מעבירה קבצים מהתיקיהלתוך תתי-תיקיות לפי הכללים הבאים:)שאינם תיקיות( הנוכחית

:לכל קובץ שאינו תיקיה האותיות הראשונות 4אם קיימת תת-תיקיה לתיקיה הנוכחית ששמו זהה ל-1.

להעברתבשם הקובץ, הקובץ יועבר לתוך התיקיה. )שים לב שהכוונה הקובץ ולא להעתקתו(.

בתיקיה לפחות שני קבצים נוספים לא מתקיים, וקיימים 1אם תנאי 2. 4 האותיות הראשונות בשמם זהות ל-4הנוכחית שאינם תיקיות, כך ש-

האותיות הראשונות בשם הקובץ, התוכנית תיצור תת-תיקיה חדשה ששמה האותיות הראשונות בשם הקובץ, והקובץ יועבר לתוך תת-תיקיה זו. 4זהה ל-

Page 21: תרגול מס'  7

21מבוא לתכנות מערכות - 234122

( - דוגמה21.7.95 )1שאלה :במדריך הנוכחי קיימים הקבצים הבאיםfile1 file2 file3 prog1 prog2 prog script1 script2 כאשר רק

הינו תיקיהprogהקובץ

לאחר הפעלת התוכניתarrange :בתיקיה הנוכחית, יהיו הקבצים הבאים בתיקיה זו file script1 script2 prog:כאשר

–file – ו progהינם תיקיות

יהיו הקבציםfileבתיקיה –file1 file2 file3

יהיו הקבציםprogבתיקיה –prog1 - ו prog2בנוסף(

לקבצים שהיו בתוכו לפני(. arrangeהפעלת התוכנית

file1 file2 file3 script1 script2 prog prog1 prog2

file1 file2 file3 prog1 prog2

file script1 script2 prog

Page 22: תרגול מס'  7

22מבוא לתכנות מערכות - 234122

פתרון

#!/bin/bashfunction files { for f in `ls`; do if [[ -f $f ]]; then echo $f fi done}function fileCount { line=( `files | cut -c1-4 | sort | uniq -c | grep $1` ) echo ${line[0]}}

function makeDir { if [[ ! -d $1 ]] ; then mkdir $1 fi}

arrange

Page 23: תרגול מס'  7

23מבוא לתכנות מערכות - 234122

פתרוןfor file in `ls` ;do if [[ ! -f $file ]] ; then continue fi dir="`echo $file | cut -c1-4`" dirsNum=`fileCount "$dir"` if (( dirsNum > 2 )) ; then makeDir $dir fi if [[ -d $dir ]] ; then mv $file $dir fidone

arrange

Page 24: תרגול מס'  7

24מבוא לתכנות מערכות - 234122

)מועד ג', אביב 2שאלה 2006)

חברתMoogle שהחליטה זה מכבר לפתוח סניף בחיפה, הכריזה על יום ראיונות בפקולטה ,למדעי המחשב בטכניון )אשר בהם יכולים להשתתף רק בוגרי קורס מת"ם כמובן(.

במהלך הראיונות נוכחים מספר מראיינים ובינהם גם מנהלMoogle..100 ל-0כל מראיין נותן ציון למרואיין בין –

הציון הסופי יקבע ע"י שקלול כל הציונים.–

למנהל יש זכות וטו ולא יתכן כי יתקבל לעבודה מרואיין שהמנהל החליט לא לקבל.–

:בסיום הראיונות כל מראיין מכין קובץ בפורמט הבא על האנשים אותם הוא ראיין<ID> <FULL NAME> <GRADE>

.interviewer name>.gradesהשדות מופרדים זה מזה בטאבים. שם הקובץ הינו >–

דוגמה לקובץ בשםeyal.grades:

הקובץ של מנהלMoogle ייקרא Moogle.grades:ויכול להיראות כך

031243129 Moshe Levi 60444422267 Shimon Cohen 90555782311 David David 100

031243129 Moshe Levi 57555782311 David David -NO-444422267 Shimon Cohen 80

Page 25: תרגול מס'  7

25מבוא לתכנות מערכות - 234122

)מועד ג', אביב 2שאלה 2006)

עליכם לכתוב תסריט בשםBestToWork אשר ינתח את הקבצים הללו ויחזיר את קבוצת המרואיינים הטובים ביותר. התסריט יקבל כפרמטר את מס'

מקומות העבודה הפנויים ויחזיר מס' שכזה של מרואיינים מצטיינים ממויינים לפי מידת ההצלחה.

במקרה שאין מספיק מרואיינים שהתראיינו / עברו את הראיון, תוחזר”not enough intervieweesההודעה: "

:לדוגמה, עבור שני הקבצים שבדוגמה

:הערותהניחו כי קבצי הקלט קיימים ותקינים–

ניתן להניח שאותם מראיינים ראיינו את כל האנשים–

אין להשתמש בקבצים זמניים–

ניתן להשתמש במספר לא מוגבל של תסריטים–

> BestToWork 21) 444422267 Shimon Cohen2) 031243129 Moshe Levi> BestToWork 3not enough interviewees

Page 26: תרגול מס'  7

26מבוא לתכנות מערכות - 234122

פתרון

#!/bin/bashfunction PrintBest { local num=1 while read -a line; do echo "${num}) ${line[0]} ${line[1]} ${line[2]}" let num++ done}function CalcOneGrade { local total_grade=0 while read -a line; do let total_grade+=${line[3]} done echo $total_grade}

BestToWork

Page 27: תרגול מס'  7

27מבוא לתכנות מערכות - 234122

פתרון

function CalcGrades { while read -a line; do grade=`cat *.grades | grep ${line[0]} | CalcOneGrade` # $line[0] is ID, $line[1] is the first # name, $line[2] is the last name echo ${line[0]} ${line[1]} ${line[2]} $grade done}

if (( `cat Moogle.grades | grep -v "\-NO\-" | wc -l` < $1 )) ; then echo "not enough interviewees"else cat Moogle.grades | grep -v "\-NO\-" | CalcGrades | \ sort -nrk3 | PrintBest | head -$1fi

BestToWork

Page 28: תרגול מס'  7

28מבוא לתכנות מערכות - 234122

UNIXבקרת תהליכים ב-

הרצה בחזית וברקעפקודות לניהול תהליכים

Page 29: תרגול מס'  7

29מבוא לתכנות מערכות - 234122

Unixריבוי תהליכים ב-Unix( היא מערכת הפעלה התומכת בריבוי תהליכים multi-tasking)

חובה עבור מערכת שנועדה לשירות מספר רב של משתמשים בו זמנית–

תהליך הוא הרצה של תכנית כלשהיניתן להריץ תכנית יחידה במספר תהליכים במקביל–

בניגוד למנשק גרפי בו השליטה במספר תהליכים אינטואיטיבית עבורעבודה בטרמינל יש להכיר מספר פקודות וקיצורים

Page 30: תרגול מס'  7

30מבוא לתכנות מערכות - 234122

הרצה בחזית וברקעShellיחיד יכול להריץ מספר תהליכים בו זמנית

כל התהליכים מדפיסים את הפלט שלהם לערוצי הפלט הסטנדרטיים–

רק תהליך אחד יכול להשתמש בערוץ הקלט הסטנדרטי–

רץ בחזיתתהליך אשר מקושר לערוץ הקלט הסטנדרטיכדי להריץ תהליך בחזית יש להפעילו כרגיל–

> command ולא ניתן להכניס פקודות חדשותpromptכל עוד תהליך רץ בחזית אין גישה ל-–

רצים ברקעתהליכים שאינם מקושרים לקלט הסטנדרטיניתן להריץ תהליך ברקע על ידי הוספת & לסוף הפקודה–

> command &

במצב זה התהליך אינו רץ אך מצבו נשמר בזיכרון מושההתהליך יכול להיות גם ,ונוכל להמשיך את הרצתו כשנרצה

Page 31: תרגול מס'  7

31מבוא לתכנות מערכות - 234122

בדיקת מצב תהליכים

הפקודהjobs-מדפיסה את רשימת התהליכים המורצים תחת ה Shell> jobs

לכל תהליך מוצג מספר מזהה, מצבו ושם הפקודה-מייצג את התהליך "הנוכחי"+סימן ה

תהליך זה יהווה את ברירת המחדל לפקודות טיפול בתהליכים–

-מייצג את התהליך הבא בתור להיות +-סימן ה

#!/bin/bashwhile [[ true ]]; do sleep 1 echo Loop $1!done

loop> ./loop 1 &[1] 3692> Loop 1!./loop 2 &[2] 3711Loop 2!Loop 1!

כאשר מספר תהליכים מוציאים פלט בו זמנית

הטרמינל מתבלגן במהירות

המספר בסוגריים המרובעים הוא מספר

Shellהתהליך תחת ה-

Page 32: תרגול מס'  7

32מבוא לתכנות מערכות - 234122

שליחת אותות לתהליך בחזית

כדי לשנות את מצב הריצה של התהליך הרץ בחזית ניתן לשלוח אותותבעזרת קיצורים מהמקלדת

Ctrl+Cהורג )מפסיק( את התהליך אשר בחזית :

Ctrl+Zמשהה את התהליך אשר בחזית :התהליך מפסיק לרוץ אך מצבו נשמר–

Page 33: תרגול מס'  7

33מבוא לתכנות מערכות - 234122

פקודות לניהול תהליכים

ניתן להחזיר תהליך לריצה בחזית בעזרתfg> fg [process]

ניתן להחזיר תהליך לריצה ברקע בעזרתbg> bg [process]

ניתן להשהות תהליך על ידיsuspend > suspend <process>

ניתן להרוג תהליך על ידי הפקודהkill> kill <process>

% ניתן לציין מספר תהליך ע"י –

<str%>< ע"י strניתן להריץ את התהליך ששמו מתחיל ב->–

אם קיימים שני תהליכים מתאימים הפקודה תיכשל•

+: אם לא צוין מספר תהליך יוחזר התהליך שמסומן ב-bg ו-fgעבור –

Page 34: תרגול מס'  7

34מבוא לתכנות מערכות - 234122

- סיכוםUnixבקרת תהליכים ב-

ריצה בחזית מושהה

ריצה ברקע

מופסק

Ctrl+Z

fg

fg

kill

kill

Ctrl+C bg

suspend

הרצה רגילה

& הרצה עם