दूसरे उपयोगकर्ता w / o को पहले उस उपयोगकर्ता पर स्विच करें


28

मेरी पत्नी 10.6 पर चलने वाले एमबीपी पर अलग-अलग खातों और त्वरित उपयोगकर्ता स्विचिंग का उपयोग करती है। कभी-कभी मैं उसे कुछ रैम मुक्त करने के लिए लॉग आउट करना चाहता हूं, लेकिन मैं उसके रूप में लॉगिंग, लॉग आउट करने से बचना चाहता हूं, फिर मेरे रूप में लॉग इन करना चाहता हूं।

मैंने एक टर्मिनल समाधान देखा है ... क्या कोई बेहतर तरीका है? धन्यवाद!


5
आपको बेहतर परिभाषित करने की आवश्यकता है "क्या एक बेहतर तरीका है"। मेरे लिए, एक टर्मिनल से ज्यादा (कंप्यूटर-वार) बेहतर नहीं है। यदि आप एक ऐप चाहते हैं, तो बस टर्मिनल कमांड को एक ऑटोमेटर या एप्सस्क्रिप्ट ऐप में लपेटें।

2
@ मांकॉफ़, अच्छी बात! लेकिन यह एक आर्क लिनक्स फोरम नहीं है, तो मान लें कि मैं एक GUI / अंतर्निहित समाधान चाहता हूं :)। लेकिन, आप सही हैं, मैं सिर्फ एक शेल स्क्रिप्ट लिख सकता हूं।
रिचर्ड हेरॉन

2
यहाँ स्क्रिप्ट समाधान का लिंक है (मैंने इसे पोस्ट करने से पहले देखा था, लेकिन यह 2005 से है, इसलिए मैंने यह मान लिया कि अब तक इस सरल सुविधा को जीयूआई में शामिल कर लिया गया होगा)। फ़ोरम.macrumors.com/showthread.php?t=118545
रिचर्ड हेरॉन

कोई अंतर्निहित
गाई

ठीक है, धन्यवाद, सब! जब मैं एक अच्छी पटकथा लिखता हूँ, तो मैं इसे यहाँ पोस्ट करता हूँ।
रिचर्ड हेरॉन

जवाबों:


22

टर्मिनल का उपयोग करके, आप उसकी loginwindowप्रक्रिया को मार सकते हैं और उसके द्वारा खोले गए किसी भी कार्यक्रम को बंद कर दिया जाएगा ... लेकिन इससे उसके पास किसी भी सहेजे गए कार्य को खोने का कारण होगा! वास्तव में, यह बहुत ही कारण है कि आपको लॉग आउट करने के लिए उसके रूप में लॉग इन करने की आवश्यकता है: जब आप उसके रूप में लॉग इन करते हैं, तो उसके सभी कार्यक्रमों में फिर से जीयूआई का उपयोग होता है, इसलिए वे आपको बंद की पुष्टि करने, परिवर्तनों को बचाने या अन्य लेने के लिए संकेत दे सकते हैं। लॉग आउट करने से पहले कार्रवाई।

यदि आप सुनिश्चित हैं कि उसके पास केवल वेब ब्राउज़र, आईट्यून्स, आदि जैसी चीजें हैं, न कि पेज, वर्ड, फोटोशॉप, या दस्तावेजों के साथ कुछ और, तो आप टर्मिनल से कोशिश कर सकते हैं:

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
इस चेतावनी से सहमत हैं कि यदि आप यह देखने के लिए लॉग इन नहीं करते हैं कि वह क्या कर रही है, तो आपको नहीं पता कि आप उसे लॉग आउट करके क्या खर्च कर सकते हैं।
माइकल एच।

हां आप ठीक हैं। अधिकांश समय यह वेब-ब्राउज़िंग है ... लेकिन एक बार ऐसा नहीं होगा! धन्यवाद!
रिचर्ड हेरॉन

4
यदि आप उसके loginwindowमाध्यम से उसे जबरदस्ती समाप्त करते हैं, Activity Monitor.appतो आप उसी समय आसानी से देख सकते हैं कि उसने कौन सी अन्य प्रक्रियाएँ छोड़ी हैं।
जरी कीनानलेन

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
हॉस

18

आप किसी अन्य उपयोगकर्ता को उनकी लॉगिन प्रक्रिया को मारकर लॉग आउट करने के लिए गतिविधि मॉनिटर का उपयोग कर सकते हैं :

  1. गतिविधि मॉनिटर चलाएं
  2. शीर्ष-दाएं पर फ़िल्टर में, टाइप करें loginwindow
  3. उपयोगकर्ता कॉलम में उपयोगकर्ता के नाम के साथ पंक्ति पर क्लिक करें
  4. क्विट प्रोसेस पर क्लिक करें , फिर फोर्स क्विट करें और अपना पासवर्ड टाइप करें।

यह जोश के जवाब का सिर्फ एक अच्छा (?) GUI संस्करण है ।

चरण 2 से पहले, आप यह देखने के लिए अन्य उपयोगकर्ता की चल रही प्रक्रियाओं की समीक्षा कर सकते हैं कि क्या वे कोई ऐप चला रहे हैं जो लॉगआउट पर डेटा खो सकते हैं।


मैंने यह कोशिश की और अभी भी गतिविधि मॉनिटर में अन्य उपयोगकर्ता की प्रक्रियाएं देख रहा हूं। सही है, खाता उपयोगकर्ता स्विचिंग मेनू में लॉग आउट दिखाई देता है, लेकिन यह वास्तव में लॉग आउट करने के समान नहीं है।
गोरब

8

यह आदेश सुझाए गए से आसान है और इसका उपयोगकर्ता की सभी प्रक्रियाओं को मारने की इच्छा होगी (मुझे इसे दो बार चलाना होगा)

sudo pkill -9 -u user

यदि आप उस उपयोगकर्ता के लिए लॉगिनविंडो प्रक्रिया को मारना चाहते हैं, तो आप निम्नलिखित कार्य कर सकते हैं:

sudo pkill -9 -u user loginwindow


1
मुझे लगता है कि यह दूसरों की तुलना में एक स्पष्ट रूप से बेहतर और अधिक मुहावरेदार जवाब है (एक यूनिक्स सिसडमिन दृष्टिकोण से)।
ग्रीग लेवेंटल

2

मुझे लगता है कि यह करने का सबसे सरल तरीका है: सुडोल किलिंग -9 -u wifes_name


MacOS Mojave का उपयोग करना, यह कई लोगों की कोशिश करने के बाद एकमात्र समाधान है, जिसने न केवल LoginWindow प्रक्रिया को मार डाला, बल्कि उस उपयोगकर्ता के स्वामित्व वाली कई अन्य प्रक्रियाएं। उस उपयोगकर्ता के लिए लॉगिनविंडो प्रक्रिया को मारना अकेले उस उपयोगकर्ता द्वारा शुरू की गई कई अन्य प्रक्रियाओं को नहीं मारता है। इस समाधान (मेरी पत्नी के नाम के साथ) ने उसके लॉगिन द्वारा शुरू की गई हर एक प्रक्रिया से छुटकारा पा लिया। मशीन को रिबूट करने और बस अपने आप में प्रवेश करने के लिए अकिन।
i-CONICA

-1

मेरी राय में, डेटा का संभावित नुकसान रैम में संभावित लाभ को प्रभावित करता है।

इसके अलावा, यह एक लंबा समय रहा है क्योंकि यूनिक्स एक प्रक्रिया के निष्क्रिय होने पर डिस्क को मेमोरी स्वैप करने में सक्षम था।


2
एक समस्या यह है कि जब कोई उपयोगकर्ता स्विच किया जाता है, तो उनकी प्रक्रिया बेकार नहीं हो सकती है। वे सीपीयू और मेमोरी को चबा सकते हैं। खेल इस संबंध में विशेष रूप से खराब लगते हैं।
बेनेट मैकलेवे

2
प्रश्न में पत्नी का उल्लेख है, लेकिन वास्तव में एक और भी बेहतर मामला है - जब आपके पास एक बच्चा है जो दिन के लिए अपनी समय सीमा से अधिक है और केवल गेम खेलता है और अन्य चीजें करता है जिन्हें बचत की आवश्यकता नहीं है। अब न केवल आपको बच्चे के रूप में लॉग इन करना होगा, बल्कि उन्हें लॉग आउट करने के लिए समय भी जोड़ना होगा।
माइकल

@ मिचेल वास्तव में मेरे उपयोग का मामला है। :)
बेनेट McElwee
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.