עבור לתוכן

סגירת screen ...

Featured Replies

פורסם

שלום לכולם!

אני הרצתי שרת משחק אם הפקודה הבאה:

screen -A -m -d -S srcds_run ./srcds_run -game cstrike +maxplayers 32 +map de_dust2 +port 27015

השאלה שלי איך אני מגלה את ה PID של הסקרין כמובן בדרכים אחרות ולא על ידי ps -x אלא על ידי מיקום הקובץ srcds_run או srcds_linux אחד משניהם ...

המטרה שלי היא לסגור את הסקרין.

תודה לעוזרים :)

פורסם

screen -ls לא מתאים?

מה בדיוק המטרה

או לסנן

screen -ls | grep srcds_run | cut -d'.' -f1 | cut -f2 -s

פורסם
  • מחבר

המטרה שלי שאם יש לי נגיד 10 שרתים אז אני רוצה לסגור שרת ספציפי דרך המיקום שלו ..

בפקודה שהבאתה לי איפה אני מגדיר את המיקום לקובץ ?

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

פורסם

[code][code]kill `screen -ls | grep srcds_run | cut -d'.' -f1 | cut -f2 -s`

יסגור את השרת

כאשר מה שבא אחרי הgrep זה השם שבא אחרי -S בהפעלה

או שתיצור קובץ נגיד בשם kill.cs

תכניס לתוכו את התוכן הבא

#!/bin/bash
kill `screen -ls | $1 | cut -d'.' -f1 | cut -f2 -s`

תריץ את הפקודה

chmod +x kill.cs

ומעכשיו הסגירה יכולה להתבצע

./kill.cs srcds_run

שוב מדובר על אותו מזהה כמו פעם קודמת

פורסם
  • מחבר

הבעיה שהפקודה שהבאתה לי סוגרת את כל הסקרינים אם השם srcds ואני צריך שהיא תסגור רק שם אחד בתיקייה אחת..

פורסם

למה אתה נותן לכולם את אותו השם?

כשאתה מפעיל את השרת, תן לכל אחד שם שונה.

השם ניתן אחרי הפרמטר -S בשורת הפקודה

פורסם
  • מחבר

אני לא יכול לשנות את השם כי אם אני ישנה השרת לא יפעל ..

אני צריך להגדיר בפקודה שהבאתה לי את המיקום לקובץ ואז הוא יציג לי pid בידיוק כמו בפקודה pidof ...

פורסם

אין שום בעיה לשנות את השם של הסקרין

איך pidof עוזר לך? הוא יצתן לך רשימה של כל הpid שיש לשרתים.

איך אתה רוצה לדעת איזה שייך לשרת הספציפי שאתה רוצה לסגור?

פורסם
  • מחבר

אין שום בעיה לשנות את השם של הסקרין

איך pidof עוזר לך? הוא יצתן לך רשימה של כל הpid שיש לשרתים.

איך אתה רוצה לדעת איזה שייך לשרת הספציפי שאתה רוצה לסגור?

לפי המיקום של הקובץ יש תיקיות ובכל תיקייה יש שרת אם בידיוק אותם קבצים אני צריך על פי המיקום לזהות את ה pid של השרת .. פשוט.

פורסם

לא הבנתי איך

הפקודה היא תמיד כזאת

screen -A -m -d -S srcds_run ./srcds_run -game cstrike +maxplayers 32 +map de_dust2 +port 27015

אתה מריץ אותה בתוך הספריה, אז אין בה משהו שונה משרת לשרת. כלומר אין דרך לזהות.

הפקודה צריכה להיות

screen -A -m -d -S screen_name ./srcds_run -game cstrike +maxplayers 32 +map de_dust2 +port 27015

כאשר לכל שרת screen_name שונה

לדוגמא

screen -A -m -d -S cs_moti ./srcds_run -game cstrike +maxplayers 32 +map de_dust2 +port 27015
screen -A -m -d -S cs_alon2k2 ./srcds_run -game cstrike +maxplayers 32 +map de_dust2 +port 27015
screen -A -m -d -S cs_amir ./srcds_run -game cstrike +maxplayers 32 +map de_dust2 +port 27015

ואז תוכל לסגור לכל לקוח לפי השם סקרין שלו

פורסם
  • מחבר

הבנתי תודה על העזרה ... :)

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים