バックグラウンド/メニューバーでコマンドを実行する

バックグラウンド/メニューバーでコマンドを実行する

ターミナルでコマンドを実行する代わりに、バックグラウンドのメニューバーでコマンドを実行することは可能ですか?

私が所属するネットワーク内でファイアウォールを開いたままにしておくために、私はcurl5分ごとにURLにpingを送信しています。watchターミナルで、しかしこれはターミナルを常に開いたままにしておく必要があることを意味します。これをメニューバーに「送信」することは可能ですか?

答え1

簡単ではありません。メニューレット- メニューバーで実行するというのは、こういうことだと思います - 次のように書く必要があります独自のコードプログラミング能力と、どれだけの労力を注ぎたいかによって、それが解決策になるかどうかは変わります。

あるいは、ターミナルウィンドウをドックに最小化することもできます。出力をどの程度目立たせたいかに応じて、コマンドをバックグラウンドで実行することもできます。画面または、そうでない場合。明らかな変更を探している場合は、これを認識し、次のようなスクリプトを使用できます。グロウル通知それについてあなたに話すためです。

答え2

質問に対する答えではありませんが、おそらく問題に対する答えです:

を使用しますscreen。この方法では、ターミナルを終了してもプロセスは実行され続けます。

Ctrl-A Ctrl-C(create) は新しい「画面」(「タブ」/「ウィンドウ」) を作成し、Ctrl-A Crtl-N(next) とCtrl-A Ctrl-P(previous) はそれらを循環します。Ctrl-A Ctrl-D(detach) は画面を終了します。

screen -r以前の画面セッションに再度接続して出力を確認します。

答え3

なぜメニューバーに必要なのか分かりません。

以下は、ループしてループ中にいくつかの curl URL にアクセスするスクリプトです。ターミナルで実行する必要がありますが、その後はターミナルを閉じることができます。

#!/bin/bash

URL=http://some.site/
LOOPTIME=280 # just under 5 minutes

(while true;
do curl -I -s -o /dev/null $URL > /dev/null;
done) &
disown

HEADのみを使用するように-Iを追加し、ユーザーとサーバーの両方の帯域幅を節約しました。

関連情報