У меня была та же проблема с Xubuntu 12.10, установка pulseaudio-module-bluetooth заставила его работать.
Все утилиты в любом случае получают информацию из /proc/$PID, но есть (по крайней мере) три места в /proc/$PID, которые содержат имя исполняемого файла в той или иной форме, и сообщают о другой информации.
[d1 ] Поле Name в /proc/$PID/status (также доступно в более сложной форме в /proc/$PID/stat). Это имя исполняемого файла, но усечено до 15 символов. Поскольку ядро выполняет усечение, никакая опция ps не может помочь. Вот что показывает ps -o comm (или его синоним ps -o ucmd). Символьная ссылка /proc/$PID/exename указывает на исполняемый файл. Вы можете получить его содержимое с помощью readlink /proc/$PID/exename. В отличие от информации, сообщенной ps, только пользователь, выполняющий этот процесс, имеет разрешение на чтение цели ссылки. Нулевой аргумент для процесса, выбранный оболочкой или другой программой, которая его вызывала. По соглашению, оболочки выбирают имя исполняемого файла, когда вы его ввели (с полным или без полного пути). Вы можете получить все аргументы из ps с помощью ps -o cmd (или его синонима ps -o command), но аргументы разделены пробелами, поэтому вы не можете достоверно указать, где останавливается нулевой аргумент. Вы можете прочитать аргументы из /proc/cmdline, где они разделены нулевым символом: </proc/$PID/cmdline awk -vRS='\0' '{print; exit;}' извлекает нулевой аргумент.Для полноты позвольте мне упомянуть, что эти имена могут меняться в течение всего жизненного цикла процесса, хотя большинство программ этого не делают:
Поле Name в /proc/$PID/status (также доступно в более сложной форме в /proc/$PID/stat). Это имя исполняемого файла, но усечено до 15 символов. Поскольку ядро выполняет усечение, никакая опция ps не может помочь. Вот что показывает ps -o comm (или его синоним ps -o ucmd). Исполняемый файл можно переименовать или удалить. В простых случаях Linux отслеживает новое имя (но крайние случаи могут не работать, например, если вы жестко ссылаетесь на исполняемый файл). Если файл удален, ядро добавляет (deleted) в цель ссылки. Символьная ссылка /proc/$PID/exename указывает на исполняемый файл. Вы можете получить его содержимое с помощью readlink /proc/$PID/exename. В отличие от информации, сообщенной ps, только пользователь, выполняющий этот процесс, имеет разрешение на чтение целевого объекта ссылки.Все утилиты в любом случае получают информацию из /proc/$PID, но есть (по крайней мере) три места в /proc/$PID, которые содержат имя исполняемого файла в той или иной форме, и сообщают о другой информации.
Поле Name в /proc/$PID/status (также доступно в более сложной форме в /proc/$PID/stat). Это имя исполняемого файла, но усечено до 15 символов. Поскольку ядро выполняет усечение, никакая опция ps не может помочь. Вот что показывает ps -o comm (или его синоним ps -o ucmd). Символьная ссылка /proc/$PID/exename указывает на исполняемый файл. Вы можете получить его содержимое с помощью readlink /proc/$PID/exename. В отличие от информации, сообщенной ps, только пользователь, выполняющий этот процесс, имеет разрешение на чтение цели ссылки. Нулевой аргумент для процесса, выбранный оболочкой или другой программой, которая его вызывала. По соглашению, оболочки выбирают имя исполняемого файла, когда вы ввели его (с полным или без полного пути). Вы можете получить все аргументы из ps с помощью ps -o cmd (или его синонима ps -o command), но аргументы разделены пробелами, поэтому вы не можете достоверно указать, где останавливается нулевой аргумент. Вы можете прочитать аргументы из /proc/cmdline, где они разделены нулевым символом: </proc/$PID/cmdline awk -vRS='\0' '{print; exit;}' извлекает нулевой аргумент.Для полноты позвольте мне упомянуть, что эти имена могут меняться в течение всего жизненного цикла процесса, хотя большинство программ этого не делают:
Поле Name в /proc/$PID/status (также доступно в более сложной форме в /proc/$PID/stat). Это имя исполняемого файла, но усечено до 15 символов. Поскольку ядро выполняет усечение, никакая опция ps не может помочь. Вот что показывает ps -o comm (или его синоним ps -o ucmd). Исполняемый файл можно переименовать или удалить. В простых случаях Linux отслеживает новое имя (но крайние случаи могут не работать, например, если вы жестко ссылаетесь на исполняемый файл). Если файл удален, ядро добавляет (deleted) в цель ссылки. Символьная ссылка /proc/$PID/exename указывает на исполняемый файл. Вы можете получить его содержимое с помощью readlink /proc/$PID/exename. В отличие от информации, сообщенной ps, только пользователь, выполняющий этот процесс, имеет разрешение на чтение целевого объекта ссылки.Все утилиты в любом случае получают информацию из /proc/$PID, но есть (по крайней мере) три места в /proc/$PID, которые содержат имя исполняемого файла в той или иной форме, и сообщают о другой информации.
Поле Name в /proc/$PID/status (также доступно в более сложной форме в /proc/$PID/stat). Это имя исполняемого файла, но усечено до 15 символов. Поскольку ядро выполняет усечение, никакая опция ps не может помочь. Вот что показывает ps -o comm (или его синоним ps -o ucmd). Символьная ссылка /proc/$PID/exename указывает на исполняемый файл. Вы можете получить его содержимое с помощью readlink /proc/$PID/exename. В отличие от информации, сообщенной ps, только пользователь, выполняющий этот процесс, имеет разрешение на чтение цели ссылки. Нулевой аргумент для процесса, выбранный оболочкой или другой программой, которая его вызывала. По соглашению, оболочки выбирают имя исполняемого файла, когда вы ввели его (с полным или без полного пути). Вы можете получить все аргументы из ps с помощью ps -o cmd (или его синонима ps -o command), но аргументы разделены пробелами, поэтому вы не можете достоверно указать, где останавливается нулевой аргумент. Вы можете прочитать аргументы из /proc/cmdline, где они разделены нулевым символом: </proc/$PID/cmdline awk -vRS='\0' '{print; exit;}' извлекает нулевой аргумент.Для полноты позвольте мне упомянуть, что эти имена могут меняться в течение всего жизненного цикла процесса, хотя большинство программ этого не делают:
Поле Name в /proc/$PID/status (также доступно в более сложной форме в /proc/$PID/stat). Это имя исполняемого файла, но усечено до 15 символов. Поскольку ядро выполняет усечение, никакая опция ps не может помочь. Вот что показывает ps -o comm (или его синоним ps -o ucmd). Исполняемый файл можно переименовать или удалить. В простых случаях Linux отслеживает новое имя (но крайние случаи могут не работать, например, если вы жестко ссылаетесь на исполняемый файл). Если файл удален, ядро добавляет (deleted) в цель ссылки. Символьная ссылка /proc/$PID/exename указывает на исполняемый файл. Вы можете получить его содержимое с помощью readlink /proc/$PID/exename. В отличие от информации, сообщенной ps, только пользователь, выполняющий этот процесс, имеет разрешение на чтение целевого объекта ссылки.Все утилиты в любом случае получают информацию из /proc/$PID, но есть (по крайней мере) три места в /proc/$PID, которые содержат имя исполняемого файла в той или иной форме, и сообщают о другой информации.
Поле Name в /proc/$PID/status (также доступно в более сложной форме в /proc/$PID/stat). Это имя исполняемого файла, но усечено до 15 символов. Поскольку ядро выполняет усечение, никакая опция ps не может помочь. Вот что показывает ps -o comm (или его синоним ps -o ucmd). Символьная ссылка /proc/$PID/exename указывает на исполняемый файл. Вы можете получить его содержимое с помощью readlink /proc/$PID/exename. В отличие от информации, сообщенной ps, только пользователь, выполняющий этот процесс, имеет разрешение на чтение цели ссылки. Нулевой аргумент для процесса, выбранный оболочкой или другой программой, которая его вызывала. По соглашению, оболочки выбирают имя исполняемого файла, когда вы ввели его (с полным или без полного пути). Вы можете получить все аргументы из ps с помощью ps -o cmd (или его синонима ps -o command), но аргументы разделены пробелами, поэтому вы не можете достоверно указать, где останавливается нулевой аргумент. Вы можете прочитать аргументы из /proc/cmdline, где они разделены нулевым символом: </proc/$PID/cmdline awk -vRS='\0' '{print; exit;}' извлекает нулевой аргумент.Для полноты позвольте мне упомянуть, что эти имена могут меняться в течение всего жизненного цикла процесса, хотя большинство программ этого не делают:
Поле Name в /proc/$PID/status (также доступно в более сложной форме в /proc/$PID/stat). Это имя исполняемого файла, но усечено до 15 символов. Поскольку ядро выполняет усечение, никакая опция ps не может помочь. Вот что показывает ps -o comm (или его синоним ps -o ucmd). Исполняемый файл можно переименовать или удалить. В простых случаях Linux отслеживает новое имя (но крайние случаи могут не работать, например, если вы жестко ссылаетесь на исполняемый файл). Если файл удален, ядро добавляет (deleted) в цель ссылки. Символьная ссылка /proc/$PID/exename указывает на исполняемый файл. Вы можете получить его содержимое с помощью readlink /proc/$PID/exename. В отличие от информации, сообщенной ps, только пользователь, выполняющий этот процесс, имеет разрешение на чтение целевого объекта ссылки.Все утилиты в любом случае получают информацию из /proc/$PID, но есть (по крайней мере) три места в /proc/$PID, которые содержат имя исполняемого файла в той или иной форме, и сообщают о другой информации.
Поле Name в /proc/$PID/status (также доступно в более сложной форме в /proc/$PID/stat). Это имя исполняемого файла, но усечено до 15 символов. Поскольку ядро выполняет усечение, никакая опция ps не может помочь. Вот что показывает ps -o comm (или его синоним ps -o ucmd). Символьная ссылка /proc/$PID/exename указывает на исполняемый файл. Вы можете получить его содержимое с помощью readlink /proc/$PID/exename. В отличие от информации, сообщенной ps, только пользователь, выполняющий этот процесс, имеет разрешение на чтение цели ссылки. Нулевой аргумент для процесса, выбранный оболочкой или другой программой, которая его вызывала. По соглашению, оболочки выбирают имя исполняемого файла, когда вы ввели его (с полным или без полного пути). Вы можете получить все аргументы из ps с помощью ps -o cmd (или его синонима ps -o command), но аргументы разделены пробелами, поэтому вы не можете достоверно указать, где останавливается нулевой аргумент. Вы можете прочитать аргументы из /proc/cmdline, где они разделены нулевым символом: </proc/$PID/cmdline awk -vRS='\0' '{print; exit;}' извлекает нулевой аргумент.Для полноты позвольте мне упомянуть, что эти имена могут меняться в течение всего жизненного цикла процесса, хотя большинство программ этого не делают:
Поле Name в /proc/$PID/status (также доступно в более сложной форме в /proc/$PID/stat). Это имя исполняемого файла, но усечено до 15 символов. Поскольку ядро выполняет усечение, никакая опция ps не может помочь. Вот что показывает ps -o comm (или его синоним ps -o ucmd). Исполняемый файл можно переименовать или удалить. В простых случаях Linux отслеживает новое имя (но крайние случаи могут не работать, например, если вы жестко ссылаетесь на исполняемый файл). Если файл удален, ядро добавляет (deleted) в цель ссылки. Символьная ссылка /proc/$PID/exename указывает на исполняемый файл. Вы можете получить его содержимое с помощью readlink /proc/$PID/exename. В отличие от информации, сообщенной ps, только пользователь, выполняющий этот процесс, имеет разрешение на чтение целевого объекта ссылки.Все утилиты в любом случае получают информацию из /proc/$PID, но есть (по крайней мере) три места в /proc/$PID, которые содержат имя исполняемого файла в той или иной форме, и сообщают о другой информации.
Поле Name в /proc/$PID/status (также доступно в более сложной форме в /proc/$PID/stat). Это имя исполняемого файла, но усечено до 15 символов. Поскольку ядро выполняет усечение, никакая опция ps не может помочь. Вот что показывает ps -o comm (или его синоним ps -o ucmd). Символьная ссылка /proc/$PID/exename указывает на исполняемый файл. Вы можете получить его содержимое с помощью readlink /proc/$PID/exename. В отличие от информации, сообщенной ps, только пользователь, выполняющий этот процесс, имеет разрешение на чтение цели ссылки. Нулевой аргумент для процесса, выбранный оболочкой или другой программой, которая его вызывала. По соглашению, оболочки выбирают имя исполняемого файла, когда вы его ввели (с полным или без полного пути). Вы можете получить все аргументы из ps с помощью ps -o cmd (или его синонима ps -o command), но аргументы разделены пробелами, поэтому вы не можете достоверно указать, где останавливается нулевой аргумент. Вы можете прочитать аргументы из /proc/cmdline, где они разделены нулевым символом: </proc/$PID/cmdline awk -vRS='\0' '{print; exit;}' извлекает нулевой аргумент.Для полноты позвольте мне упомянуть, что эти имена могут меняться в течение всего жизненного цикла процесса, хотя большинство программ этого не делают:
Поле Name в /proc/$PID/status (также доступно в более сложной форме в /proc/$PID/stat). Это имя исполняемого файла, но усечено до 15 символов. Поскольку ядро выполняет усечение, никакая опция ps не может помочь. Вот что показывает ps -o comm (или его синоним ps -o ucmd). Исполняемый файл можно переименовать или удалить. В простых случаях Linux отслеживает новое имя (но крайние случаи могут не работать, например, если вы жестко ссылаетесь на исполняемый файл). Если файл удален, ядро добавляет (deleted) в цель ссылки. Символьная ссылка /proc/$PID/exename указывает на исполняемый файл. Вы можете получить его содержимое с помощью readlink /proc/$PID/exename. В отличие от информации, сообщенной ps, только пользователь, выполняющий этот процесс, имеет разрешение на чтение целевого объекта ссылки.Все утилиты в любом случае получают информацию из /proc/$PID, но есть (по крайней мере) три места в /proc/$PID, которые содержат имя исполняемого файла в той или иной форме, и сообщают о другой информации.
Поле Name в /proc/$PID/status (также доступно в более сложной форме в /proc/$PID/stat). Это имя исполняемого файла, но усечено до 15 символов. Поскольку ядро выполняет усечение, никакая опция ps не может помочь. Вот что показывает ps -o comm (или его синоним ps -o ucmd). Символьная ссылка /proc/$PID/exename указывает на исполняемый файл. Вы можете получить его содержимое с помощью readlink /proc/$PID/exename. В отличие от информации, сообщенной ps, только пользователь, выполняющий этот процесс, имеет разрешение на чтение цели ссылки. Нулевой аргумент для процесса, выбранный оболочкой или другой программой, которая его вызывала. По соглашению, оболочки выбирают имя исполняемого файла, когда вы ввели его (с полным или без полного пути). Вы можете получить все аргументы из ps с помощью ps -o cmd (или его синонима ps -o command), но аргументы разделены пробелами, поэтому вы не можете достоверно указать, где останавливается нулевой аргумент. Вы можете прочитать аргументы из /proc/cmdline, где они разделены нулевым символом: </proc/$PID/cmdline awk -vRS='\0' '{print; exit;}' извлекает нулевой аргумент.Для полноты позвольте мне упомянуть, что эти имена могут меняться в течение всего жизненного цикла процесса, хотя большинство программ этого не делают:
Поле Name в /proc/$PID/status (также доступно в более сложной форме в /proc/$PID/stat). Это имя исполняемого файла, но усечено до 15 символов. Поскольку ядро выполняет усечение, никакая опция ps не может помочь. Вот что показывает ps -o comm (или его синоним ps -o ucmd). Исполняемый файл можно переименовать или удалить. В простых случаях Linux отслеживает новое имя (но крайние случаи могут не работать, например, если вы жестко ссылаетесь на исполняемый файл). Если файл удален, ядро добавляет (deleted) в цель ссылки. Символьная ссылка /proc/$PID/exename указывает на исполняемый файл. Вы можете получить его содержимое с помощью readlink /proc/$PID/exename. В отличие от информации, сообщенной ps, только пользователь, выполняющий этот процесс, имеет разрешение на чтение целевого объекта ссылки.Все утилиты в любом случае получают информацию из /proc/$PID, но есть (по крайней мере) три места в /proc/$PID, которые содержат имя исполняемого файла в той или иной форме, и сообщают о другой информации.
Поле Name в /proc/$PID/status (также доступно в более сложной форме в /proc/$PID/stat). Это имя исполняемого файла, но усечено до 15 символов. Поскольку ядро выполняет усечение, никакая опция ps не может помочь. Вот что показывает ps -o comm (или его синоним ps -o ucmd). Символьная ссылка /proc/$PID/exename указывает на исполняемый файл. Вы можете получить его содержимое с помощью readlink /proc/$PID/exename. В отличие от информации, сообщенной ps, только пользователь, выполняющий этот процесс, имеет разрешение на чтение цели ссылки. Нулевой аргумент для процесса, выбранный оболочкой или другой программой, которая его вызывала. По соглашению, оболочки выбирают имя исполняемого файла, когда вы его ввели (с полным или без полного пути). Вы можете получить все аргументы из ps с помощью ps -o cmd (или его синонима ps -o command), но аргументы разделены пробелами, поэтому вы не можете достоверно указать, где останавливается нулевой аргумент. Вы можете прочитать аргументы из /proc/cmdline, где они разделены нулевым символом: </proc/$PID/cmdline awk -vRS='\0' '{print; exit;}' извлекает нулевой аргумент.Для полноты позвольте мне упомянуть, что эти имена могут меняться в течение всего жизненного цикла процесса, хотя большинство программ этого не делают:
Поле Name в /proc/$PID/status (также доступно в более сложной форме в /proc/$PID/stat). Это имя исполняемого файла, но усечено до 15 символов. Поскольку ядро выполняет усечение, никакая опция ps не может помочь. Вот что показывает ps -o comm (или его синоним ps -o ucmd). Исполняемый файл можно переименовать или удалить. В простых случаях Linux отслеживает новое имя (но крайние случаи могут не работать, например, если вы жестко ссылаетесь на исполняемый файл). Если файл удален, ядро добавляет (deleted) в цель ссылки. Символьная ссылка /proc/$PID/exename указывает на исполняемый файл. Вы можете получить его содержимое с помощью readlink /proc/$PID/exename. В отличие от информации, сообщенной ps, только пользователь, выполняющий этот процесс, имеет разрешение на чтение целевого объекта ссылки. Все утилиты получают информацию из / proc / $ PID
в любом случае, но есть (по крайней мере) три места в / proc / $ PID
, которые содержат имя исполняемый файл в некоторой форме, и они сообщают о различной информации.
Name
в / proc / $ PID / status
(также доступно в более сложной форме в / proc / $ PID / stat
). Это имя исполняемого файла, но усечено до 15 символов. Поскольку ядро выполняет усечение, никакая опция ps
не может помочь. Это ps -o comm
(или его синоним ps -o ucmd
). / proc / $ PID / exename
указывает на исполняемый файл. Вы можете получить его содержимое с помощью readlink / proc / $ PID / exename
. В отличие от информации, сообщенной ps
, только пользователь, выполняющий этот процесс, имеет разрешение на чтение целевого объекта ссылки. ps
с ps -o cmd
(или его синоним ps -o command
), но аргументы разделены чтобы вы не могли достоверно указать, где останавливается нулевой аргумент. Вы можете прочитать аргументы из / proc / cmdline
, где они разделены нулевым символом: & lt; / proc / $ PID / cmdline awk -vRS = '\ 0' '{print; exit;} '
извлекает нулевой аргумент. Для полноты позвольте мне упомянуть, что эти имена могут меняться в течение всего жизненного цикла процесса, хотя большинство программ этого не делают :
Name
в / proc / $ PID / status
, вызвав prctl с аргумент PR_SET_NAME
. (удалено)
к цели ссылки. argv [0 ]
в C). Процесс может свободно его изменять. Все утилиты получают информацию из / proc / $ PID
в любом случае, но есть (по крайней мере) три места в / proc / $ PID
, которые содержат имя исполняемый файл в некоторой форме, и они сообщают о различной информации.
Name
в / proc / $ PID / status
(также доступно в более сложной форме в / proc / $ PID / stat
). Это имя исполняемого файла, но усечено до 15 символов. Поскольку ядро выполняет усечение, никакая опция ps
не может помочь. Это ps -o comm
(или его синоним ps -o ucmd
). / proc / $ PID / exename
указывает на исполняемый файл. Вы можете получить его содержимое с помощью readlink / proc / $ PID / exename
. В отличие от информации, сообщенной ps
, только пользователь, выполняющий этот процесс, имеет разрешение на чтение целевого объекта ссылки. ps
с ps -o cmd
(или его синоним ps -o command
), но аргументы разделены чтобы вы не могли достоверно указать, где останавливается нулевой аргумент. Вы можете прочитать аргументы из / proc / cmdline
, где они разделены нулевым символом: & lt; / proc / $ PID / cmdline awk -vRS = '\ 0' '{print; exit;} '
извлекает нулевой аргумент. Для полноты позвольте мне упомянуть, что эти имена могут меняться в течение всего жизненного цикла процесса, хотя большинство программ этого не делают :
Name
в / proc / $ PID / status
, вызвав prctl с аргумент PR_SET_NAME
. (удалено)
к цели ссылки. argv [0 ]
в C). Процесс может свободно его изменять. Все утилиты получают информацию из / proc / $ PID
в любом случае, но есть (по крайней мере) три места в / proc / $ PID
, которые содержат имя исполняемый файл в некоторой форме, и они сообщают о различной информации.
Name
в / proc / $ PID / status
(также доступно в более сложной форме в / proc / $ PID / stat
). Это имя исполняемого файла, но усечено до 15 символов. Поскольку ядро выполняет усечение, никакая опция ps
не может помочь. Это ps -o comm
(или его синоним ps -o ucmd
). / proc / $ PID / exename
указывает на исполняемый файл. Вы можете получить его содержимое с помощью readlink / proc / $ PID / exename
. В отличие от информации, сообщенной ps
, только пользователь, выполняющий этот процесс, имеет разрешение на чтение целевого объекта ссылки. ps
с ps -o cmd
(или его синоним ps -o command
), но аргументы разделены чтобы вы не могли достоверно указать, где останавливается нулевой аргумент. Вы можете прочитать аргументы из / proc / cmdline
, где они разделены нулевым символом: & lt; / proc / $ PID / cmdline awk -vRS = '\ 0' '{print; exit;} '
извлекает нулевой аргумент. Для полноты позвольте мне упомянуть, что эти имена могут меняться в течение всего жизненного цикла процесса, хотя большинство программ этого не делают :
Name
в / proc / $ PID / status
, вызвав prctl с аргумент PR_SET_NAME
. (удалено)
к цели ссылки. argv [0 ]
в C). Процесс может свободно его изменять. tr
предназначены для замены новых строк с нулями. head
извлекает первую строку; вся труба tr / head / tr извлекает первый кусок с нулевым завершением. В этом конкретном случае вторая команда tr
может быть tr '\ 0' '\n'
, так как осталось один кусок.
– Gilles
15 January 2011 в 22:30
tr
args должен быть \\ 0 \\n [ ! d1]) ... и спасибо за понимание бонуса: ..оббавить конечную новую строку, обнуляя ее ... (Я не уверен, как bash обрабатывает значения null .. Я полагаю, что могу использовать '-d \\n 'пока я не получу более полное понимание) .... и еще один бонус (на примере) ... не используя' cat ', когда' & lt; ' делает работу ... Я читаю чей-то блог tirrade об этом, и такие вещи, на днях (Рэндал Шварц (возможно, один из «FLOSS Weekly» ... :)
– Peter.O
15 January 2011 в 22:32
cmd = & quot; $ (& lt; / proc / 10773 / cmdline cut -d '' -f1) & quot;
...
– Peter.O
15 January 2011 в 22:58
cut
самостоятельно не будет работать в редком случае, когда строка для извлечения содержит новую строку.
– Gilles
15 January 2011 в 23:24
ps $PID | tail -1 | awk '{i=5; while (i<NF) {printf "%s ", $i; i++}; print $NF}'
Где $ PID - это PID, который у вас есть. Вероятно, полная команда, которую вы хотите (по вашему вопросу выше):
which "$(ps $(xdotool getwindowpid $(xdotool getactivewindow)) | tail -1 | awk '{i=5; while (i<NF) {printf "%s ", $i; i++}; print $NF}')"
ps $PID | tail -1 | awk '{i=5; while (i<NF) {printf "%s ", $i; i++}; print $NF}'
Где $ PID - это PID, который у вас есть. Вероятно, полная команда, которую вы хотите (по вашему вопросу выше):
which "$(ps $(xdotool getwindowpid $(xdotool getactivewindow)) | tail -1 | awk '{i=5; while (i<NF) {printf "%s ", $i; i++}; print $NF}')"
ps $PID | tail -1 | awk '{i=5; while (i<NF) {printf "%s ", $i; i++}; print $NF}'
Где $ PID - это PID, который у вас есть. Вероятно, полная команда, которую вы хотите (по вашему вопросу выше):
which "$(ps $(xdotool getwindowpid $(xdotool getactivewindow)) | tail -1 | awk '{i=5; while (i<NF) {printf "%s ", $i; i++}; print $NF}')"
ps $PID | tail -1 | awk '{i=5; while (i<NF) {printf "%s ", $i; i++}; print $NF}'
Где $ PID - это PID, который у вас есть. Вероятно, полная команда, которую вы хотите (по вашему вопросу выше):
which "$(ps $(xdotool getwindowpid $(xdotool getactivewindow)) | tail -1 | awk '{i=5; while (i<NF) {printf "%s ", $i; i++}; print $NF}')"
ps $PID | tail -1 | awk '{i=5; while (i<NF) {printf "%s ", $i; i++}; print $NF}'
Где $ PID - это PID, который у вас есть. Вероятно, полная команда, которую вы хотите (по вашему вопросу выше):
which "$(ps $(xdotool getwindowpid $(xdotool getactivewindow)) | tail -1 | awk '{i=5; while (i<NF) {printf "%s ", $i; i++}; print $NF}')"
ps $PID | tail -1 | awk '{i=5; while (i<NF) {printf "%s ", $i; i++}; print $NF}'
Где $ PID - это PID, который у вас есть. Вероятно, полная команда, которую вы хотите (по вашему вопросу выше):
which "$(ps $(xdotool getwindowpid $(xdotool getactivewindow)) | tail -1 | awk '{i=5; while (i<NF) {printf "%s ", $i; i++}; print $NF}')"
ps $PID | tail -1 | awk '{i=5; while (i<NF) {printf "%s ", $i; i++}; print $NF}'
Где $ PID - это PID, который у вас есть. Вероятно, полная команда, которую вы хотите (по вашему вопросу выше):
which "$(ps $(xdotool getwindowpid $(xdotool getactivewindow)) | tail -1 | awk '{i=5; while (i<NF) {printf "%s ", $i; i++}; print $NF}')"
ps $PID | tail -1 | awk '{i=5; while (i<NF) {printf "%s ", $i; i++}; print $NF}'
Где $ PID - это PID, который у вас есть. Вероятно, полная команда, которую вы хотите (по вашему вопросу выше):
which "$(ps $(xdotool getwindowpid $(xdotool getactivewindow)) | tail -1 | awk '{i=5; while (i<NF) {printf "%s ", $i; i++}; print $NF}')"
ps $ PID | хвост -1 | awk '{i = 5; while (i & lt; NF) {printf "% s", $ i; я ++}; print $ NF} '
Где $ PID - это PID, который у вас есть. Вероятно, полная команда, которую вы хотите (по вашему вопросу выше):
, который «$ (ps $ (xdotool getwindowpid $ (xdotool getactivewindow)) | tail -1 | awk '{i = 5; while (i & lt; NF) {printf "% s", $ i; i ++}; print $ NF} ') "
ps $ PID | хвост -1 | awk '{i = 5; while (i & lt; NF) {printf "% s", $ i; я ++}; print $ NF} '
Где $ PID - это PID, который у вас есть. Вероятно, полная команда, которую вы хотите (по вашему вопросу выше):
, который «$ (ps $ (xdotool getwindowpid $ (xdotool getactivewindow)) | tail -1 | awk '{i = 5; while (i & lt; NF) {printf "% s", $ i; i ++}; print $ NF} ') "
ps $ PID | хвост -1 | awk '{i = 5; while (i & lt; NF) {printf "% s", $ i; я ++}; print $ NF} '
Где $ PID - это PID, который у вас есть. Вероятно, полная команда, которую вы хотите (по вашему вопросу выше):
, который «$ (ps $ (xdotool getwindowpid $ (xdotool getactivewindow)) | tail -1 | awk '{i = 5; while (i & lt; NF) {printf "% s", $ i; i ++}; print $ NF} ') "
ps $ PID
возвращает это: / usr / bin / Ссылка на gedit с тестовым файлом пробелов ... Как вы можете видеть это ps
вывод не поддается анализу. Где начинаются Args? ...
– Peter.O
15 January 2011 в 21:37