לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

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



  #2  
ישן 08-07-2010, 14:30
  שימיadmin שימי אינו מחובר  
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
 
חבר מתאריך: 25.10.01
הודעות: 42,775
בתגובה להודעה מספר 1 שנכתבה על ידי נאפליו שמתחילה ב "קבלת פרוססים רצים בזמן אמת תחת PERL"

תעשה מה ש ps עושה. תקרא את התוכן של הספריה proc/

כל ספריה שהיא מספר שאתה רואה שם זה מספר פרוסס. בתוכו יש קבצים וירטואליים (שקוראים אותם ממש כמו קובץ אמיתי), שמכילים פרטים על הקובץ

קוד:
$ cat /proc/1/cmdline init [3] $ cat /proc/1/stat 1 (init) S 0 1 1 0 -1 4194560 16360 37838054 22 30290 275 823 3935490 1145154 20 0 1 0 2 3854336 47 18446744073709551615 4194304 4228140 0 0 0 0 0 1475401980 671819267 18446744073709551615 0 0 0 0 0 0 0 0 0 $ cat /proc/1/status Name: init State: S (sleeping) Tgid: 1 Pid: 1 PPid: 0 TracerPid: 0 Uid: 0 0 0 0 Gid: 0 0 0 0 FDSize: 64 Groups: VmPeak: 3808 kB VmSize: 3764 kB VmLck: 0 kB VmHWM: 624 kB VmRSS: 188 kB VmData: 172 kB VmStk: 84 kB VmExe: 36 kB VmLib: 1392 kB VmPTE: 28 kB Threads: 1 SigQ: 0/15351 SigPnd: 0000000000000000 ShdPnd: 0000000000000000 SigBlk: 0000000000000000 SigIgn: fffffffe57f0d8fc SigCgt: 00000000280b2603 CapInh: 0000000000000000 CapPrm: ffffffffffffffff CapEff: fffffffffffffeff CapBnd: ffffffffffffffff Cpus_allowed: 3 Cpus_allowed_list: 0-1 Mems_allowed: 1 Mems_allowed_list: 0 voluntary_ctxt_switches: 659071 nonvoluntary_ctxt_switches: 910
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה
נמאס לכם לזכור סיסמאות? לחצו כאן!

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #7  
ישן 10-07-2010, 22:17
  שימיadmin שימי אינו מחובר  
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
 
חבר מתאריך: 25.10.01
הודעות: 42,775
בתגובה להודעה מספר 6 שנכתבה על ידי macox שמתחילה ב "שאלה נוספת שימי"

איפה שאתה רואה סימן שאלה, פשוט אין terminal שמקושר לתהליך...

וזה לא נכון שרק bash, גם כל מי שהרצת מתחתיו...

דוגמאות:

קוד:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 18207 0.0 0.0 5924 728 tty1 Ss+ 20:52 0:00 /sbin/agetty 38400 tty1 linux root 18208 0.0 0.0 5924 732 tty2 Ss+ 20:52 0:00 /sbin/agetty 38400 tty2 linux root 18209 0.0 0.0 5924 728 tty3 Ss+ 20:52 0:00 /sbin/agetty 38400 tty3 linux root 18210 0.0 0.0 5924 728 tty4 Ss+ 20:52 0:00 /sbin/agetty 38400 tty4 linux root 18211 0.0 0.0 5924 728 tty5 Ss+ 20:52 0:00 /sbin/agetty 38400 tty5 linux root 18212 0.0 0.0 5924 728 tty6 Ss+ 20:52 0:00 /sbin/agetty 38400 tty6 linux root 17604 1.8 2.8 314080 233804 tty7 Ss+ 20:52 2:41 \_ /usr/bin/X -nolisten tcp :0 vt7 -auth /var/run/xauth/A:0-AszCXg shimi 19263 0.0 0.0 18024 1948 pts/3 Ss 22:18 0:00 \_ /bin/bash shimi 19373 0.0 0.0 14876 1104 pts/3 R+ 23:15 0:00 \_ ps axfu


לגבי איך לדעת מה שייך לפרוסס... אם הפרוסס רץ ביוזר שלך (או שאתה root ואז יש לך הרשאה להכל), אפשר להעזר ב proc/PID/fd/ כדי לראות שם את ה symlink-ים לכל ה file descriptors הפתוחים, ביניהם ה tty / pts/X...

עבור יוזרים אחרים - שאלה טובה. חקרתי את הנושא קצת. נראה שהשדה ה 7 ב proc/PID/stat/ (אשר נגיש לכל משתמש, ולא רק לבעלי הפרוסס), אמור להכיל כביכול את הטרמינל. בדקתי גם בקוד המקור של הקרנל (usr/src/linux/fs/proc/array.c/), ונראה שזה מה שזה אמור להיות (השדה נקרא tty_nr). אממה, שבבדיקה שעשיתי, נראה שזה סתם מספר לא קשור. חשבתי שאולי זה FD של הטרמינל, אז כתבתי תוכנה קטנה ב C שמשתמשת בקריאת ה system העונה לשם ttyname, שאמורה לקבל FD ולהחזיר מצביע למחרוזת המכילה את שם ה terminal. כשהרצתי את התוכנה, אפילו על מספר שקיבלתי מ stat ששייך ליוזר שלי, קיבלתי בחזרה NULL. לא טרחתי לבדוק את ה errno כי זה כנראה ממילא היה ניחוש שגוי (שהמספר הוא בכלל FD...). מה הוא כן? שאלה טובה... אם יהיה לי כוח לחפור בקרנל...

לחלופין, אתה פשוט יכול לנסות לקרוא את קוד המקור של ps! כי זה בהחלט אפשרי, ולא חייבים להיות root בשביל לקבל את המידע (בדקתי ו suid bit לא מוגדר על ps...)
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה
נמאס לכם לזכור סיסמאות? לחצו כאן!

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

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

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

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

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



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

הדף נוצר ב 0.08 שניות עם 12 שאילתות

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

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