起動中のアプリを一括終了するコマンド教えて下さい

macで起動中アプリを一括終了するコマンドを教えてください。


"killall アプリ名"では一つずつしか終了出来ない認識で、全アプリを終了させたいです。


よろしくお願い致します。



投稿日 2023/02/08 07:38

返信
返信: 5

2023/02/08 10:04 te10 への返信

killall は複数のアプリを終了することができます。ただ、アプリケーションによっては不正終了となってしまうので、できるだけやらない方が良いです。


JXA (JavaScript for Automation) や AppleScript などであればもっと優しく終了させることができます。例えば、こんな感じのスクリプトを Terminal から実行すれば良いと思います。


#!/usr/bin/osascript -l JavaScript
'use strict';
function run() {
    const filter = {_and:[{visible:true},{_not:[{_or:[{name:'Finder'},{name:'Terminal'}]}]}]};
    const procs = Application('System Events').processes.whose(filter);
    const apps = procs.name();
    apps.map(a => Application(a).quit());
    return apps;
}

2023/02/09 00:07 Hiro__S への返信

コードを若干変更しました。


#!/usr/bin/osascript -l JavaScript
'use strict';
function run() {
    const filter = {_and:[{backgroundOnly:false},{_not:[{_or:[{name:'Finder'},{name:'Terminal'}]}]}]};
    const procs = Application('System Events').processes.whose(filter);
    const apps = procs.name();
    apps.map(a => Application(a).quit());
    return apps;
}


2023/02/08 21:42 te10 への返信

ちょっと補足しときますね。


前掲のコードは Script Editor ではなく TextEditor などの標準テキストエディタにコピペして標準テキスト形式 (改行:LF、テキストエンコーディング:UTF-8) で保存してください。


で、Terminal から chmod コマンドで実行権限を与え、パスの通った場所に置けばコマンドとして使えます。


ファイル名を「quitapps」とした場合、実行は Terminal からこんな感じ。

quitapps


このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

起動中のアプリを一括終了するコマンド教えて下さい

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。