最初にそのユーザーに切り替えずに他のユーザーをログアウトする


28

私の妻は、10.6を実行しているMBPで個別のアカウントとクイックユーザー切り替えを使用しています。時々私は彼女をログアウトしてRAMを解放したいのですが、彼女としてログインしてからログアウトしてから私としてログインし直すのは避けたいです。

私はターミナルソリューションを見ました...より良い方法はありますか?ありがとう!


5
「より良い方法がありますか」と定義する必要があります。私にとっては、(コンピューターの観点から)端末ほど優れているものはありません。アプリが必要な場合は、端末コマンドをオートマトンアプリまたはapplescriptアプリでラップします。

2
@mankoff、良い点!しかし、これはArch Linuxフォーラムではないため、GUI /組み込みソリューションが必要だと仮定しましょう:)。しかし、あなたは正しい、私はシェルスクリプトを書くことができます。
リチャードヘロン

2
スクリプトソリューションへのリンクを次に示します(投稿する前に見ましたが、2005年からのものなので、この単純な機能はGUIに組み込まれているはずだと思いました)。 forums.macrumors.com/showthread.php?t=118545
リチャード・ヘロン

組み込みのGUIソリューション私が知っていること...ありません
ロバート・S Ciaccio

OK、ありがとう、すべて!良いスクリプトを作成したら、ここに投稿します。
リチャードヘロン

回答:


22

ターミナルを使用して、あなたは彼女のloginwindowプロセスを殺すことができ、彼女が開いているプログラムはすべて閉じられます...しかし、これは彼女が彼女の持っている未保存の仕事を失う原因になります!実際、これが彼女としてログアウトしてログアウトする必要があるまさにその理由です。彼女としてログインすると、彼女のすべてのプログラムは再びGUIにアクセスできるため、閉鎖の確認、変更の保存、または他のログアウトする前のアクション。

彼女が、ページ、Word、Photoshop、またはドキュメントを含むその他のものではなく、Webブラウザ、iTunesなどのようなものだけを開いていると確信している場合は、ターミナルから試すことができます。

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
彼女が何をしているかを確認するためにログインしないと、ログアウトすることによって彼女にかかる費用がわからないという警告に同意します。
マイケルH.

ええ、あなたは正しいです。ほとんどの場合、それはウェブブラウジングです...しかし、一度はそうではありません!ありがとう!
リチャードヘロン

4
彼女loginwindowを強制終了するActivity Monitor.app場合、彼女が開いたままにしている他のプロセスを同時に一目で見分けることができます。
ヤリケイネン

1
とにかくAwkをgrep実行することになった場合、複数のコマンドを簡単に回避できます。 iki.fi/era/unix/award.html#grepps awwwwux | awk '/her_short_username/ && /loginwind[o]w/ { print $2 } | xargs kill
tripleee

1
ちょうどあなたの更新コマンドのタイプミスを修正し、読みsudu読みくださいsudo
ホス

18

あなたはできるアクティビティモニタを使用して、ログインプロセスを殺すことで、別のユーザーをログアウトします:

  1. アクティビティモニターの実行
  2. 右上のフィルターに次のように入力します loginwindow
  3. [ ユーザー]列にユーザーの名前がある行をクリックします。
  4. クリックしてプロセスを終了し、その後、強制終了、およびパスワードを入力します。

これは、Joshの回答よりも優れた(?)GUIバージョンです。

ステップ2の前に、他のユーザーの実行中のプロセスを確認して、ログアウト時にデータを失う可能性のあるアプリを実行しているかどうかを確認できます。


これを試しても、他のユーザーのプロセスがアクティビティモニターで実行されているのがわかります。確かに、アカウントはユーザー切り替えメニューでログアウトされているように見えますが、ログアウトとはまったく同じようには見えません。
Gorb

8

このコマンドは、提案されているものよりも簡単で、ユーザーのすべてのプロセスを強制終了するという結果が得られます(2回実行する必要がありました)

sudo pkill -9 -u user

そのユーザーのloginwindowプロセスを強制終了する場合は、次の操作を実行できます。

sudo pkill -9 -u user loginwindow


1
これは、他のシステムよりも明らかに優れており、(UNIXのシステム管理者の観点から)より慣用的な答えだと思われます。
グレッグレベンタール

2

私はそれを行う最も簡単な方法だと思います:sudo killall -9 -u wifes_name


これは、MacOS Mojaveを使用して、LoginWindowプロセスだけでなく、そのユーザーが所有する他の多くのプロセスを強制終了した多くの試みの後の唯一のソリューションです。そのユーザーだけのLoginWindowプロセスを強制終了しても、そのユーザーが開始した他の多くのプロセスは強制終了しませんでした。このソリューション(私の妻の名前に置き換えて)は、彼女のログインによって開始されたすべてのプロセスを取り除きました。マシンを再起動して、自分でログインするだけです。
i-CONICA

-1

私の意見では、データの損失の可能性はRAMの利得の可能性をはるかに上回ります。

さらに、プロセスがアイドル状態のときにUnixがメモリをディスクにスワップできるようになってから長い時間がかかりました。


2
1つの問題は、ユーザーが切り替えられたときに、ユーザーのプロセスがアイドル状態にならない場合があることです。彼らはCPUとメモリを噛んでいるのかもしれません。この点でゲームは特に悪いようです。
ベネットマケルウィー

2
質問は妻について言及していますが、実際にはさらに良いケースがあります-その日の制限時間を超えてゲームをプレイし、貯蓄する必要のない他のことをする子供がいる場合です。これで、子供としてログインするだけでなく、ログアウトするだけの時間を追加する必要があります。
マイケル

@Michaelそれはまさに私のユースケースです。:)
ベネットマケルウィー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.