לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > מערכות הפעלה
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 08-03-2014, 17:49
  שימיadmin שימי אינו מחובר  
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
 
חבר מתאריך: 25.10.01
הודעות: 42,775

אני לא מבין איך יכול להיות כלי כללי לבעייה אמורפית.

אפשר לתפור "פתרון" לשאלה שלך באמצעות כלים פשוטים למדי

נניח אם אתה רוצה כל שניה לראות איזה פרוססים רצים ואם משהו השתנה, אתה יכול לעשות סקריפט ש:

0. מגדיר שם קובץ זמני ואז עושה mv tmpname tmpname.old
1. רץ בלולאה - שופך את רשימת הפרוססים הנוכחית לקובץ tmpname (רק פרוססים, מסונן, לא כולל דברים שמשתנים דרך קבע כמו זמן מעבד, צריכת משאבים, וכו')
2. עושה diff tmpname tmpname.old
3. ומסתכל על הערך שחזר מ diff...
4. אם הוא שונה מ 0, הקבצים שונים = המצב השתנה. בצע מה שאתה רוצה שיקרה במקרה כזה - כתוב את זה לקובץ עם timestamp, נניח. אם הוא לא שונה, אל תעשה כלום

זה סקריפט של כמה שורות קוד...

אגב, גם ל watch יש פרמטר d- ש"מאיר" את השינויים מהריצה האחרונה - אבל אני חושב שזה לא יענה לך על השאלה של "מתי"... וגם לא מה קורה כשהשינוי משתנה הלוך וחזור כמה פעמים ולכן הצעתי את הנ"ל.

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

הנה, כתבתי לך משהו בקצרה... לא נבדק יותר מדי, אבל אמור להיות מספיק טוב בתור כיוון, לדעתי...
קוד:
#!/bin/bash cleanup() { echo "" echo "Caught Ctrl+C, cleaning up temp files." rm -f $NEWFILE $OLDFILE exit 0 } trap 'cleanup' SIGINT WATCHCMD="ps axo pid,command" INTERVAL=1 NEWFILE=$(mktemp) || (echo "Unable to create a file for new status" ; exit 1) OLDFILE=$(mktemp) || (echo "Unable to create a file for old status" ; rm -f $NEWFILE ; exit 1) SCHANGE=$(mktemp -d) && (echo "Logging changes of '$WATCHCMD' to directory $SCHANGE; Ctrl+C to stop.") || (echo "Unable to create log directory." ; rm -f $NEWFILE $OLDFILE ; exit 1) $WATCHCMD | grep -v "$WATCHCMD" > $NEWFILE while [ 1 ] ; do mv -f $NEWFILE $OLDFILE $WATCHCMD | grep -v "$WATCHCMD" > $NEWFILE diff $OLDFILE $NEWFILE > /dev/null 2>&1 if [ $? -ne 0 ] then TSTAMP=$(date +%Y-%m-%d-%H-%M-%S) echo "Change detected at $TSTAMP. Logging it into $SCHANGE/$TSTAMP.diff" diff -u $OLDFILE $NEWFILE > $SCHANGE/$TSTAMP.diff fi sleep $INTERVAL done


כמובן, שאם מה שאתה מחפש הוא בכלל מערכת monitoring כללית, יש גם כלים כאלה, כמו monit, שיודעים לעשות לא מעט דברים.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 04:49

הדף נוצר ב 0.05 שניות עם 11 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר