web-dev-qa-db-ja.com

ターミナルで開くことができるすべてのアクティビティのログはありますか?

ターミナルを開いて、Ubuntuの通常の使用で発生するプロセスとすべてを調査したいと思います。ログをリアルタイムで表示するには、どのコマンドとファイルを使用できますか?

ありがとう。

4
Mookey

ログをリアルタイムで表示するには、tail -f -n [number of lines] [file]を使用します。

  • -fはフォロー用です。データがファイルに書き込まれると、追加されたログデータがstdout(コンソールウィンドウなど)にパイプされます。
  • -nは、続く行数です

始めるのに適した場所は/var/log/syslogです。これは、多くのシステムイベント、サービス、およびアプリケーションのデフォルトのログファイルです。

Sudo tail -f -n 1000 /var/log/syslog

ターゲットサービスまたはアプリケーションは、異なるログファイルを使用する場合があります。一部のサービスおよびアプリケーションには、複数のログファイルがあります。たとえば、Apache Webサーバーには、アクセス、エラー、およびSSLイベントの個別のログがあります。また、一部のログファイルは、元のファイルが特定のサイズに達した後、通常は同じディレクトリにあるアーカイブファイルにロールオフするように構成されています。 1 KB。特定のログファイルの場所については、サービスまたはアプリケーションのドキュメントを確認(または検索)してください。

また、複数のコンソールウィンドウを開いて、テストの実行中に複数のログを一度に監視すると役立つ場合があります。

たとえば、Apache上で実行され、MySQLデータベースを使用したWebアプリケーションでイベントをトレースしている場合、独自のコンソールウィンドウで次の2つのコマンドを開くことができます。実際、これらのアプリケーションログを上からのシステムログと一緒にトレースすることもできます。

Sudo tail -f -n 1000 /var/log/Apache2/error_log
Sudo tail -f -n 1000 /var/log/mysqld.log

いつものように、tailmanページでオプションの完全なリストを確認してください。

man tail

5
Rocky Raccoon

any「外の世界」への通信なしでアプリケーションまたはプロセス内で処理されるため、あなたが単に見つけることができない多くのもの。

ただし、何が起こっているかの特定のセクションを監視するために使用できる最も重要なツールのいくつかのランダムな(完全に不完全な)リスト:

  • topコマンド:from man topトッププログラムは、実行中のシステムの動的なリアルタイムビューを提供します。 Linuxカーネルによって現在管理されているプロセスまたはスレッドのリストだけでなく、システムの概要情報も表示できます。表示されるシステムサマリー情報のタイプ、およびプロセスに対して表示される情報のタイプ、順序、サイズはすべてユーザーが構成可能であり、その構成は再起動後も一貫して行うことができます。
  • dstat。 man dstatから:Dstatを使用すると、すべてのシステムリソースを即座に表示できます。 IDEコントローラからの割り込みと組み合わせてディスク使用量を比較するか、ネットワーク帯域幅の数値をディスクスループットと直接比較します(同じ間隔で)
  • wmctrl; wmctrlはリアルタイムのongoing情報を提供しませんが、スクリプトのループで使用すると、ほぼリアルタイムのレポートを取得したり、開いた/移動した/閉じたウィンドウに関する出来事を記録したりするのはかなり簡単です。
  • dbus-monitorコマンド。@ Sergを使用すると、さらに多くの情報を取得できます。 From man dbus-monitordbus-monitorコマンドは、D-Busメッセージバスを通過するメッセージを監視するために使用されます。全体像の詳細については http://www.freedesktop.org/software/dbus/ を参照してください。(要するに、dbusは、アプリケーションが互いに対話するための簡単な方法です。 dbus-monitorは、dbusが使用されている場合にのみ機能し、@ heemaylが述べた一般的なツールとしてではありません(ありがとう!)
  • dconf watchコマンド(比較的不明)。 man dconfから:

       watch
           Watch a key or directory for changes.
    

    試してみてくださいシステム設定の編集中にdconf watch /の出力で何が起こるか。

一番下の行は、何が起こっているかの特定のセクションを見つけるために、それらのそれぞれがすべての多くのツールがあるということです。 「全体像」の始まりさえ表示する単一のターミナルウィンドウは言うまでもなく、すべての答えに適合するものはまったく不可能です。

どのツールが目的に合っているかは、どのイベントを具体的に監視したいかによって異なります。

8
Jacob Vlijm

historyコマンドを試してください。端末で最後に実行された$HISTSIZE(デフォルトは500)コマンドを表示します。

システムがjournalctlを使用する場合、systemdコマンドはログメッセージを表示します。

ps -auxは実行中のプロセスを示します。

ps -aux|grep xxxx

特定のプロセスを選択します。

6
Vasconcelos1914

すべてのアクティビティはかなり広いです。既存の回答に追加するには:

  • dmesgは、カーネルログを端末にダンプします。 マニュアルページ

  • straceを使用すると、特定のプロセスからのすべてのシステムコールをリアルタイムでトレースできます。 マニュアルページbuntuページ

  • perf "ステロイドの痕跡。" Perfは、カーネル、個々のプロセス、個々のCPUなど、システム全体のさまざまな粒度でイベントをトレースするための非常に強力なツールです。 マニュアルページ

1
Digital Trauma