Score:3

เป็นไปได้ไหมที่จะปิดแท็บเทอร์มินัลจากบรรทัดคำสั่งโดยกำหนดเป้าหมายชื่อ

ธง jp

สำหรับสภาพแวดล้อมการพัฒนาของฉัน ฉันใช้สคริปต์เพื่อเรียกใช้คำสั่งเพื่อเปิดใช้แท็บเทอร์มินัลที่เรียกใช้คำสั่งนามแฝง:

gnome-terminal --tab-with-profile="custom" --title="imageproc" -- bash -ic "imgp ss"

ฉันต้องการที่จะสามารถกำหนดเป้าหมายและปิดแท็บได้หากฉันเปลี่ยนไปใช้โครงการอื่น แต่ฉันกลับมาว่างเปล่าหลังจากกูเกิลและดูหน้าคนหลายหน้า

Score:1
ธง jp

ไม่ใช่สิ่งที่ฉันกำลังมองหา แต่พบวิธีวงเวียนเพื่อให้บรรลุสิ่งที่ฉันต้องการ เผื่อว่าจะช่วยคนอื่นได้:

แท็บเทอร์มินัลในกรณีของฉันคือโหนดเซิร์ฟเวอร์ที่ส่งออกบันทึกในขณะที่กำลังทำงาน ดังนั้นมันจึงยังคงเปิดอยู่ในขณะที่กระบวนการทำงานอยู่ อย่างน้อยบน Ubuntu คุณสามารถตั้งค่าหน้าต่างให้ปิดตัวเองตามการตั้งค่าโปรไฟล์เทอร์มินัล:

ภาพหน้าจอหน้าต่างการตั้งค่า

ซึ่งหมายความว่าฉันสามารถฆ่ากระบวนการและแท็บจะปิด เพื่อทำสิ่งนี้ให้สำเร็จ ฉันได้เพิ่มคำสั่งที่เพิ่มเข้าไปในสคริปต์ที่ฉันใช้เมื่อสลับโปรเจ็กต์:

ps -aux | grep "ชื่อคำสั่งที่นี่" | grep -v "grep" | awk '{พิมพ์ $2}' | xargs ฆ่า

หรือคุณสามารถฆ่ากระบวนการที่ครอบครองพอร์ตเฉพาะซึ่งใช้ได้ผลในกรณีของฉัน:

ฆ่า $(lsof -t -i:7777)

แก้ไข:

ในกรณีที่คุณต้องการตบกระบวนการฆ่าก่อนสคริปต์อื่น ๆ เช่นฉัน คุณอาจต้องการฟังก์ชันที่ตรวจสอบเพื่อดูว่ามีกระบวนการที่จะฆ่าหรือไม่:

คิลปิด() {
     PID=`ps -aux | grep "ชื่อคำสั่งที่นี่" | grep -v "grep" | awk '{พิมพ์ $2}'`;
     ถ้า [ ! -z "$PID" ]
     แล้ว
         echo "ฆ่าชื่อคำสั่งที่นี่ - $PID";
         สะท้อน $PID | xargs ฆ่า;
     ไฟ
 }
hr flag
คุณอาจลดความซับซ้อนของ `ps | ได้ ... | ไปป์ไลน์ kill` ลงไปที่บางอย่างเช่น `pkill "commandnamehere"` หรือ `pkill -f "commandnamehere"`
jp flag
@steeldriver ฉันเริ่มต้นด้วยสิ่งนั้น แต่ในกรณีเฉพาะของฉัน คำสั่งเป็นสคริปต์ทุบตีอื่น ดังนั้นจึงง่ายกว่าที่จะ grep ตัวระบุเฉพาะเพื่อรับกระบวนการ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา