1つのpsコマンドでフォーマットされた出力と完全なコマンド引数を組み合わせる方法はありますか?

1つのpsコマンドでフォーマットされた出力と完全なコマンド引数を組み合わせる方法はありますか?

Solarisは/usr/ucb/ps auxww完全なコマンドライン引数を提供します(長いコマンド+引数は切り捨てられません)。

そしてpsフォーマットされた出力を提供する-oオプションがあります。

両方を実行する単一コマンド(または単一行コマンド)がありますか?

注:この問題は、特定の幅の後にパラメータを切り捨てることにも関連しているpsため/usr/ucb/ps

ベストアンサー1

私が知る限り、命令はありません。

Solarisは、次のpsコマンドライン引数などのプロセスデータを取得します。/proc/[PID]/psinfo文書struct psinfoそれぞれを埋めるデータが含まれています。/usr/include/sys/procfs.h:

#define PRARGSZ     80  /* number of chars of arguments */
typedef struct psinfo {
    int pr_flag;    /* process flags (DEPRECATED; do not use) */
    int pr_nlwp;    /* number of active lwps in the process */
    .
    .
    .
    char    pr_fname[PRFNSZ];   /* name of execed file */
    char    pr_psargs[PRARGSZ]; /* initial characters of arg list */
...

したがって、ここから完全なコマンドライン引数セットを取得することはできません/usr/bin/ps/usr/ucb/ps ...既にご存じのとおり、awk同様の方法で出力形式を指定できます。pargsコマンドライン引数を発行するためにも使用できます。 (インストール場所はpargsSolarisのバージョンによって異なります。)

ただし、プロセスはパラメータを変更でき、完全なパラメータ情報を取得するにはプロセスのアドレス空間を読み取る権限が必要です。

おすすめ記事