ออกจากระบบผู้ใช้รายอื่นโดยไม่มีการเปลี่ยนเป็นผู้ใช้รายแรก


28

ภรรยาของฉันใช้บัญชีแยกต่างหากและสลับผู้ใช้อย่างรวดเร็วบน MBP ที่ทำงาน 10.6 บางครั้งฉันต้องการออกจากระบบของเธอเพื่อเพิ่ม RAM บางส่วน แต่ฉันต้องการหลีกเลี่ยงการเข้าสู่ระบบในขณะที่เธอออกจากระบบแล้วลงชื่อเข้าใช้ใหม่ในขณะที่ฉัน

ฉันเห็นโซลูชันเทอร์มินัล ... มีวิธีที่ดีกว่านี้ไหม ขอบคุณ!


5
คุณต้องกำหนดให้ดีขึ้น "มีวิธีที่ดีกว่า" สำหรับฉันไม่มาก (คอมพิวเตอร์ที่ฉลาด) ดีกว่าสถานี หากคุณต้องการแอพเพียงห่อคำสั่งเทอร์มินัลในแอป automator หรือ applescript

2
@ankoff จุดดี! แต่นี่ไม่ใช่ฟอรัม Arch Linux ดังนั้นสมมติว่าฉันต้องการ GUI / built-in solution :) แต่คุณพูดถูกฉันสามารถเขียนเชลล์สคริปได้
Richard Herron

2
นี่คือลิงค์ไปยังโซลูชันของสคริปต์ (ฉันเห็นก่อนโพสต์ แต่มาจากปี 2005 ดังนั้นฉันเลยคิดว่าตอนนี้ฟีเจอร์ง่ายๆนี้ต้องรวมเข้ากับ GUI) Forums.macrumors.com/showthread.php?t=118545
Richard Herron

มีอยู่ในตัวในการแก้ปัญหา GUI ไม่มีที่ฉันรู้ ...
โรเบิร์ตเอ Ciaccio

ตกลงขอบคุณทุกคน! เมื่อฉันเขียนสคริปต์ที่ดีฉันจะโพสต์กลับมาที่นี่
Richard Herron

คำตอบ:


22

เมื่อใช้เทอร์มินัลคุณสามารถฆ่าloginwindowกระบวนการของเธอและโปรแกรมใด ๆ ที่เธอเปิดจะถูกปิด ... แต่สิ่งนี้จะทำให้เธอสูญเสียงานที่ไม่ได้บันทึกใด ๆ ที่เธอมี! ในความเป็นจริงนี่คือเหตุผลที่คุณต้องเข้าสู่ระบบเพื่อออกจากระบบ:เมื่อคุณเข้าสู่ระบบในขณะที่เธอทุกโปรแกรมของเธอสามารถเข้าถึง GUI เพื่อให้พวกเขาสามารถแจ้งให้คุณยืนยันการปิดบันทึกการเปลี่ยนแปลงหรืออื่น ๆ การกระทำก่อนที่จะออกจากระบบ

หากคุณแน่ใจว่าเธอมี แต่สิ่งต่าง ๆ เช่นเว็บเบราว์เซอร์ iTunes ฯลฯ เปิดอยู่ไม่ใช่เอกสาร Pages, Photoshop หรืออื่น ๆ ด้วยเอกสารคุณสามารถลองจากเทอร์มินัล:

kill `ps awwwwux | grep her_short_username | grep loginwindow | grep -v grep | awk "{ print \$2 }"`

บน OSX 10.10.4: (แก้ไขเล็กน้อยจากความคิดเห็นล่าสุด):

export pn=`ps awwwwux | awk '/her_short_username/ && /loginwind[o]w/ { print $2 }'`
sudo kill -9 $pn

1
เห็นด้วยกับคำเตือนว่าหากคุณไม่ได้ลงชื่อเข้าใช้เพื่อดูว่าเธอกำลังทำอะไรอยู่คุณไม่ทราบว่าคุณอาจต้องเสียค่าใช้จ่ายใด ๆ เมื่อออกจากระบบ
Michael H.

ถูกของคุณ. ส่วนใหญ่เป็นการท่องเว็บ ... แต่ครั้งหนึ่งมันจะไม่เป็นเช่นนั้น! ขอบคุณ!
Richard Herron

4
หากคุณบังคับให้เธอloginwindowผ่านActivity Monitor.appคุณสามารถดูได้อย่างง่ายดายในเวลาเดียวกันกับกระบวนการอื่น ๆ ที่เธอเปิดทิ้งไว้
Jari Keinänen

1
หากคุณยังทำงาน Awk อยู่คุณgrepสามารถหลีกเลี่ยงคำสั่งหลายคำสั่งได้อย่างง่ายดาย ps awwwwux | awk '/her_short_username/ && /loginwind[o]w/ { print $2 } | xargs killและดูiki.fi/era/unix/award.html#grep
tripleee

1
เพียงแค่แก้ไขพิมพ์ผิดในคำสั่งอัปเดตของคุณอ่านควรอ่านsudu sudo
hoss

18

คุณสามารถใช้การตรวจสอบกิจกรรมเพื่อออกจากระบบผู้ใช้อื่นโดยการฆ่ากระบวนการเข้าสู่ระบบของพวกเขา:

  1. เรียกใช้การตรวจสอบกิจกรรม
  2. ในตัวกรองที่ด้านบนขวาให้พิมพ์ loginwindow
  3. คลิกแถวที่มีชื่อผู้ใช้ในคอลัมน์ผู้ใช้
  4. คลิกที่Quit Processจากนั้นบังคับให้ Quitและพิมพ์รหัสผ่านของคุณ

นี่เป็นเพียงดีกว่า (?) รุ่น GUI ของคำตอบของจอช

ก่อนขั้นตอนที่ 2 คุณสามารถตรวจสอบกระบวนการทำงานของผู้ใช้รายอื่นเพื่อดูว่าพวกเขากำลังเรียกใช้แอพใด ๆ ที่อาจทำให้สูญเสียข้อมูลเมื่อออกจากระบบหรือไม่


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

8

คำสั่งนี้ง่ายกว่าคำแนะนำและมันจะมีผลความปรารถนาที่จะฆ่ากระบวนการทั้งหมดของผู้ใช้ (ฉันต้องรันมันสองครั้ง)

sudo pkill -9 -u user

หากคุณต้องการฆ่ากระบวนการล็อกอินหน้าต่างสำหรับผู้ใช้นั้นคุณสามารถทำสิ่งต่อไปนี้:

sudo pkill -9 -u user loginwindow


1
ดูเหมือนว่าฉันนี่เป็นคำตอบที่ชัดเจนและดีกว่า (จากมุมมองของระบบปฏิบัติการยูนิกซ์) ที่ดีกว่าคนอื่น ๆ
เกร็ก Leventhal

2

ฉันคิดว่าวิธีที่ง่ายที่สุดคือ: sudo killall -9 -u wifes_name


การใช้ MacOS Mojave นี่เป็นทางออกเดียวหลังจากลองใช้หลายอย่างซึ่งไม่เพียง แต่จะฆ่ากระบวนการ LoginWindow เท่านั้น แต่ยังมีกระบวนการอื่น ๆ อีกมากมายที่ผู้ใช้นั้นเป็นเจ้าของ การฆ่ากระบวนการ LoginWindow สำหรับผู้ใช้นั้นเพียงอย่างเดียวไม่ได้ฆ่ากระบวนการอื่น ๆ ที่เริ่มต้นโดยผู้ใช้รายนั้น โซลูชันนี้ (แทนที่ด้วยชื่อภรรยาของฉัน) กำจัดทุกกระบวนการเริ่มต้นจากการเข้าสู่ระบบของเธอ คล้ายกับการรีบูตเครื่องและเพียงเข้าสู่ระบบด้วยตัวคุณเอง
ฉัน -CONICA

-1

ในความคิดของฉันการสูญเสียข้อมูลที่เป็นไปได้นั้นมีมากกว่าการได้รับ RAM มาก

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


2
ปัญหาหนึ่งคือเมื่อผู้ใช้ถูกปิดกระบวนการของพวกเขาอาจไม่ได้ใช้งาน พวกเขาอาจจะเคี้ยว CPU และหน่วยความจำ เกมดูแย่ในเรื่องนี้โดยเฉพาะ
Bennett McElwee

2
คำถามกล่าวถึงภรรยา แต่จริงๆแล้วมีกรณีที่ดียิ่งขึ้น - เมื่อคุณมีลูกที่เกินเวลาที่กำหนดสำหรับวันและเล่นเกมเท่านั้นและทำสิ่งอื่น ๆ ที่ไม่ต้องการการประหยัด ตอนนี้คุณไม่เพียงต้องเข้าสู่ระบบในฐานะเด็ก แต่เพิ่มเวลาเพียงเพื่อออกจากระบบ
Michael

@Michael นั่นคือกรณีการใช้งานของฉัน :)
Bennett McElwee
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.