узнать местоположение, где был выполнен процесс

Это может быть проблема с Light Game Game Library (lwjgl). Mojang не успевает за обновлениями. Загрузите последнюю версию с http://lwjgl.org/download.php и извлеките архив. Замените jinput.jar, lwjgl.jar и lwjgl_util.jar в каталоге .minecraft/bin соответствующими файлами из извлеченного каталога lwjgl-2.8.x/jar. Также замените файлы в .minecraft/bin/natives файлами из lwjgl-2.8.x/jar/native/linux. Чтобы быть в безопасности, вы должны, вероятно, сделать резервные копии этих файлов, прежде чем их заменить.

Надеюсь, что это сработает!

1
задан 10 July 2013 в 03:56

6 ответов

Несмотря на то, что /proc упоминается кратко выше как источник информации для изучения процессов в системе, я включаю здесь базовый скрипт Bash для анализа некоторой информации из него. Для превосходного введения в виртуальную файловую систему /proc см. Эту статью IBM, в которой объясняется, как она может быть полезной как для пользователей, так и для программистов.

Анализ синтаксического кода /proc с общим сценарием может быть ненадежным, поскольку разные процессы часто имеют разные макеты /proc, но базовую информацию обычно можно почерпнуть с помощью этого скрипта, хотя ее, возможно, придется изменить, если вы хотите проанализировать любую другую конкретную информацию. Я написал его с помощью Bash, но есть более сильные синтаксические анализаторы, которые вы могли бы исследовать, если хотите написать его, используя другой язык сценариев.

Часто в выводе скрипта вы можете увидеть сообщение «отказано в разрешении», что означает, что местоположение /proc не читается $ USER, поэтому вы можете запустить скрипт как root, если хотите

Скопируйте тело сценария в новый файл, сохраните его и сделайте его исполняемым (chmod u+x), а затем вызовите его хотя бы одним аргументом (теперь он может обрабатывать несколько процессов одновременно):

./proc_script xfce4-panel

или поместить его в свой $HOME/bin, а затем вы можете запускать его, как и другие программы, если $HOME/bin находится на вашем пути. (Однако, если вы используете sudo, вам все равно придется указывать абсолютное расположение пути к сценарию, поскольку $HOME/bin не находится в корневом пути.)

Тело скрипта; он также доступен и обновлен в этой статье IBM :

#!/usr/bin/env bash  

(( $# == 0 )) && { printf "Usage: Please specify the name of one process \
to research.\n" >&2; exit 1; }

args=("$@")                   
for process in "${args[@]}"; do                    
    # store user input in a variable and warn then exit if program is not running
    queried_pid="$(pgrep "${process}" || { printf '%s\n' "No such program" >&2; })"

    # add the contents of the variable into an array
    pidarray=($(echo "$queried_pid"))

    # iterate over the array, however many pids have been found
    for i in "${pidarray[@]}"; do 
        printf "Pid is: %s\nExe is: %s\nCmdline is: %s\ncwd is: %s\n" "$(echo "$i")" \
    "$(stat -c %N /proc/"$i"/exe)" "$(cat /proc/"$i"/cmdline)" "$(cd /proc/"$i"/cwd/; pwd -P)"
    done
    printf "\n\n"
done

exit 

Пример вывода 1:

./proc_parse firefox


Pid is: 1830
Exe is: `/proc/1830/exe' -> `/usr/lib/firefox/firefox'
Cmdline is: /usr/lib/firefox/firefox
cwd is: /home/mike

Образец вывода 2 (имеющий дело с несколькими сообщениями ):

./proc_parse evince

Pid is: 3113
Exe is: `/proc/3113/exe' -> `/usr/bin/evince'
Cmdline is: evince/home/mike/Z_IBM_lpic_Linux_pdfs/l-proc-pdf.pdf
cwd is: /home/mike
Pid is: 3119
Exe is: `/proc/3119/exe' -> `/usr/lib/evince/evinced'
Cmdline is: /usr/lib/evince/evinced
cwd is: /
1
ответ дан 24 May 2018 в 20:09
  • 1
    Благодарю. Я сказал что-то в чате о OP, нуждающемся в том, чтобы найти его полезным, поскольку я просто использовал python с PSI для достижения того же ... но если OP найдет его полезным, вы получите щедрость, о которой я говорил. Upvote – RobotHumans 12 July 2013 в 08:16

Несмотря на то, что /proc упоминается кратко выше как источник информации для изучения процессов в системе, я включаю здесь базовый скрипт Bash для анализа некоторой информации из него. Для превосходного введения в виртуальную файловую систему /proc см. Эту статью IBM, в которой объясняется, как она может быть полезной как для пользователей, так и для программистов.

Анализ синтаксического кода /proc с общим сценарием может быть ненадежным, поскольку разные процессы часто имеют разные макеты /proc, но базовую информацию обычно можно почерпнуть с помощью этого скрипта, хотя ее, возможно, придется изменить, если вы хотите проанализировать любую другую конкретную информацию. Я написал его с помощью Bash, но есть более сильные синтаксические анализаторы, которые вы могли бы исследовать, если хотите написать его, используя другой язык сценариев.

Часто в выводе скрипта вы можете увидеть сообщение «отказано в разрешении», что означает, что местоположение /proc не читается $ USER, поэтому вы можете запустить скрипт как root, если хотите

Скопируйте тело сценария в новый файл, сохраните его и сделайте его исполняемым (chmod u+x), а затем вызовите его хотя бы одним аргументом (теперь он может обрабатывать несколько процессов одновременно):

./proc_script xfce4-panel

или поместить его в свой $HOME/bin, а затем вы можете запускать его, как и другие программы, если $HOME/bin находится на вашем пути. (Однако, если вы используете sudo, вам все равно придется указывать абсолютное расположение пути к сценарию, поскольку $HOME/bin не находится в корневом пути.)

Тело скрипта; он также доступен и обновлен в этой статье IBM :

#!/usr/bin/env bash  

(( $# == 0 )) && { printf "Usage: Please specify the name of one process \
to research.\n" >&2; exit 1; }

args=("$@")                   
for process in "${args[@]}"; do                    
    # store user input in a variable and warn then exit if program is not running
    queried_pid="$(pgrep "${process}" || { printf '%s\n' "No such program" >&2; })"

    # add the contents of the variable into an array
    pidarray=($(echo "$queried_pid"))

    # iterate over the array, however many pids have been found
    for i in "${pidarray[@]}"; do 
        printf "Pid is: %s\nExe is: %s\nCmdline is: %s\ncwd is: %s\n" "$(echo "$i")" \
    "$(stat -c %N /proc/"$i"/exe)" "$(cat /proc/"$i"/cmdline)" "$(cd /proc/"$i"/cwd/; pwd -P)"
    done
    printf "\n\n"
done

exit 

Пример вывода 1:

./proc_parse firefox


Pid is: 1830
Exe is: `/proc/1830/exe' -> `/usr/lib/firefox/firefox'
Cmdline is: /usr/lib/firefox/firefox
cwd is: /home/mike

Образец вывода 2 (имеющий дело с несколькими сообщениями ):

./proc_parse evince

Pid is: 3113
Exe is: `/proc/3113/exe' -> `/usr/bin/evince'
Cmdline is: evince/home/mike/Z_IBM_lpic_Linux_pdfs/l-proc-pdf.pdf
cwd is: /home/mike
Pid is: 3119
Exe is: `/proc/3119/exe' -> `/usr/lib/evince/evinced'
Cmdline is: /usr/lib/evince/evinced
cwd is: /
1
ответ дан 24 May 2018 в 20:09

Несмотря на то, что /proc упоминается кратко выше как источник информации для изучения процессов в системе, я включаю здесь базовый скрипт Bash для анализа некоторой информации из него. Для превосходного введения в виртуальную файловую систему /proc см. Эту статью IBM, в которой объясняется, как она может быть полезной как для пользователей, так и для программистов.

Анализ синтаксического кода /proc с общим сценарием может быть ненадежным, поскольку разные процессы часто имеют разные макеты /proc, но базовую информацию обычно можно почерпнуть с помощью этого скрипта, хотя ее, возможно, придется изменить, если вы хотите проанализировать любую другую конкретную информацию. Я написал его с помощью Bash, но есть более сильные синтаксические анализаторы, которые вы могли бы исследовать, если хотите написать его, используя другой язык сценариев.

Часто в выводе скрипта вы можете увидеть сообщение «отказано в разрешении», что означает, что местоположение /proc не читается $ USER, поэтому вы можете запустить скрипт как root, если хотите

Скопируйте тело сценария в новый файл, сохраните его и сделайте его исполняемым (chmod u+x), а затем вызовите его хотя бы одним аргументом (теперь он может обрабатывать несколько процессов одновременно):

./proc_script xfce4-panel

или поместить его в свой $HOME/bin, а затем вы можете запускать его, как и другие программы, если $HOME/bin находится на вашем пути. (Однако, если вы используете sudo, вам все равно придется указывать абсолютное расположение пути к сценарию, поскольку $HOME/bin не находится в корневом пути.)

Тело скрипта; он также доступен и обновлен в этой статье IBM :

#!/usr/bin/env bash  

(( $# == 0 )) && { printf "Usage: Please specify the name of one process \
to research.\n" >&2; exit 1; }

args=("$@")                   
for process in "${args[@]}"; do                    
    # store user input in a variable and warn then exit if program is not running
    queried_pid="$(pgrep "${process}" || { printf '%s\n' "No such program" >&2; })"

    # add the contents of the variable into an array
    pidarray=($(echo "$queried_pid"))

    # iterate over the array, however many pids have been found
    for i in "${pidarray[@]}"; do 
        printf "Pid is: %s\nExe is: %s\nCmdline is: %s\ncwd is: %s\n" "$(echo "$i")" \
    "$(stat -c %N /proc/"$i"/exe)" "$(cat /proc/"$i"/cmdline)" "$(cd /proc/"$i"/cwd/; pwd -P)"
    done
    printf "\n\n"
done

exit 

Пример вывода 1:

./proc_parse firefox


Pid is: 1830
Exe is: `/proc/1830/exe' -> `/usr/lib/firefox/firefox'
Cmdline is: /usr/lib/firefox/firefox
cwd is: /home/mike

Образец вывода 2 (имеющий дело с несколькими сообщениями ):

./proc_parse evince

Pid is: 3113
Exe is: `/proc/3113/exe' -> `/usr/bin/evince'
Cmdline is: evince/home/mike/Z_IBM_lpic_Linux_pdfs/l-proc-pdf.pdf
cwd is: /home/mike
Pid is: 3119
Exe is: `/proc/3119/exe' -> `/usr/lib/evince/evinced'
Cmdline is: /usr/lib/evince/evinced
cwd is: /
1
ответ дан 24 May 2018 в 20:09

Несмотря на то, что /proc упоминается кратко выше как источник информации для изучения процессов в системе, я включаю здесь базовый скрипт Bash для анализа некоторой информации из него. Для превосходного введения в виртуальную файловую систему /proc см. Эту статью IBM, в которой объясняется, как она может быть полезной как для пользователей, так и для программистов.

Анализ синтаксического кода /proc с общим сценарием может быть ненадежным, поскольку разные процессы часто имеют разные макеты /proc, но базовую информацию обычно можно почерпнуть с помощью этого скрипта, хотя ее, возможно, придется изменить, если вы хотите проанализировать любую другую конкретную информацию. Я написал его с помощью Bash, но есть более сильные синтаксические анализаторы, которые вы могли бы исследовать, если хотите написать его, используя другой язык сценариев.

Часто в выводе скрипта вы можете увидеть сообщение «отказано в разрешении», что означает, что местоположение /proc не читается $ USER, поэтому вы можете запустить скрипт как root, если хотите

Скопируйте тело сценария в новый файл, сохраните его и сделайте его исполняемым (chmod u+x), а затем вызовите его хотя бы одним аргументом (теперь он может обрабатывать несколько процессов одновременно):

./proc_script xfce4-panel

или поместить его в свой $HOME/bin, а затем вы можете запускать его, как и другие программы, если $HOME/bin находится на вашем пути. (Однако, если вы используете sudo, вам все равно придется указывать абсолютное расположение пути к сценарию, поскольку $HOME/bin не находится в корневом пути.)

Тело скрипта; он также доступен и обновлен в этой статье IBM :

#!/usr/bin/env bash  

(( $# == 0 )) && { printf "Usage: Please specify the name of one process \
to research.\n" >&2; exit 1; }

args=("$@")                   
for process in "${args[@]}"; do                    
    # store user input in a variable and warn then exit if program is not running
    queried_pid="$(pgrep "${process}" || { printf '%s\n' "No such program" >&2; })"

    # add the contents of the variable into an array
    pidarray=($(echo "$queried_pid"))

    # iterate over the array, however many pids have been found
    for i in "${pidarray[@]}"; do 
        printf "Pid is: %s\nExe is: %s\nCmdline is: %s\ncwd is: %s\n" "$(echo "$i")" \
    "$(stat -c %N /proc/"$i"/exe)" "$(cat /proc/"$i"/cmdline)" "$(cd /proc/"$i"/cwd/; pwd -P)"
    done
    printf "\n\n"
done

exit 

Пример вывода 1:

./proc_parse firefox


Pid is: 1830
Exe is: `/proc/1830/exe' -> `/usr/lib/firefox/firefox'
Cmdline is: /usr/lib/firefox/firefox
cwd is: /home/mike

Образец вывода 2 (имеющий дело с несколькими сообщениями ):

./proc_parse evince

Pid is: 3113
Exe is: `/proc/3113/exe' -> `/usr/bin/evince'
Cmdline is: evince/home/mike/Z_IBM_lpic_Linux_pdfs/l-proc-pdf.pdf
cwd is: /home/mike
Pid is: 3119
Exe is: `/proc/3119/exe' -> `/usr/lib/evince/evinced'
Cmdline is: /usr/lib/evince/evinced
cwd is: /
1
ответ дан 24 May 2018 в 20:09

Несмотря на то, что /proc упоминается кратко выше как источник информации для изучения процессов в системе, я включаю здесь базовый скрипт Bash для анализа некоторой информации из него. Для превосходного введения в виртуальную файловую систему /proc см. Эту статью IBM, в которой объясняется, как она может быть полезной как для пользователей, так и для программистов.

Анализ синтаксического кода /proc с общим сценарием может быть ненадежным, поскольку разные процессы часто имеют разные макеты /proc, но базовую информацию обычно можно почерпнуть с помощью этого скрипта, хотя ее, возможно, придется изменить, если вы хотите проанализировать любую другую конкретную информацию. Я написал его с помощью Bash, но есть более сильные синтаксические анализаторы, которые вы могли бы исследовать, если хотите написать его, используя другой язык сценариев.

Часто в выводе скрипта вы можете увидеть сообщение «отказано в разрешении», что означает, что местоположение /proc не читается $ USER, поэтому вы можете запустить скрипт как root, если хотите

Скопируйте тело сценария в новый файл, сохраните его и сделайте его исполняемым (chmod u+x), а затем вызовите его хотя бы одним аргументом (теперь он может обрабатывать несколько процессов одновременно):

./proc_script xfce4-panel

или поместить его в свой $HOME/bin, а затем вы можете запускать его, как и другие программы, если $HOME/bin находится на вашем пути. (Однако, если вы используете sudo, вам все равно придется указывать абсолютное расположение пути к сценарию, поскольку $HOME/bin не находится в корневом пути.)

Тело скрипта; он также доступен и обновлен в этой статье IBM :

#!/usr/bin/env bash  

(( $# == 0 )) && { printf "Usage: Please specify the name of one process \
to research.\n" >&2; exit 1; }

args=("$@")                   
for process in "${args[@]}"; do                    
    # store user input in a variable and warn then exit if program is not running
    queried_pid="$(pgrep "${process}" || { printf '%s\n' "No such program" >&2; })"

    # add the contents of the variable into an array
    pidarray=($(echo "$queried_pid"))

    # iterate over the array, however many pids have been found
    for i in "${pidarray[@]}"; do 
        printf "Pid is: %s\nExe is: %s\nCmdline is: %s\ncwd is: %s\n" "$(echo "$i")" \
    "$(stat -c %N /proc/"$i"/exe)" "$(cat /proc/"$i"/cmdline)" "$(cd /proc/"$i"/cwd/; pwd -P)"
    done
    printf "\n\n"
done

exit 

Пример вывода 1:

./proc_parse firefox


Pid is: 1830
Exe is: `/proc/1830/exe' -> `/usr/lib/firefox/firefox'
Cmdline is: /usr/lib/firefox/firefox
cwd is: /home/mike

Образец вывода 2 (имеющий дело с несколькими сообщениями ):

./proc_parse evince

Pid is: 3113
Exe is: `/proc/3113/exe' -> `/usr/bin/evince'
Cmdline is: evince/home/mike/Z_IBM_lpic_Linux_pdfs/l-proc-pdf.pdf
cwd is: /home/mike
Pid is: 3119
Exe is: `/proc/3119/exe' -> `/usr/lib/evince/evinced'
Cmdline is: /usr/lib/evince/evinced
cwd is: /
1
ответ дан 24 May 2018 в 20:09

Несмотря на то, что /proc упоминается кратко выше как источник информации для изучения процессов в системе, я включаю здесь базовый скрипт Bash для анализа некоторой информации из него. Для превосходного введения в виртуальную файловую систему /proc см. Эту статью IBM, в которой объясняется, как она может быть полезной как для пользователей, так и для программистов.

Анализ синтаксического кода /proc с общим сценарием может быть ненадежным, поскольку разные процессы часто имеют разные макеты /proc, но базовую информацию обычно можно почерпнуть с помощью этого скрипта, хотя ее, возможно, придется изменить, если вы хотите проанализировать любую другую конкретную информацию. Я написал его с помощью Bash, но есть более сильные синтаксические анализаторы, которые вы могли бы исследовать, если хотите написать его, используя другой язык сценариев.

Часто в выводе скрипта вы можете увидеть сообщение «отказано в разрешении», что означает, что местоположение /proc не читается $ USER, поэтому вы можете запустить скрипт как root, если хотите

Скопируйте тело сценария в новый файл, сохраните его и сделайте его исполняемым (chmod u+x), а затем вызовите его хотя бы одним аргументом (теперь он может обрабатывать несколько процессов одновременно):

./proc_script xfce4-panel

или поместить его в свой $HOME/bin, а затем вы можете запускать его, как и другие программы, если $HOME/bin находится на вашем пути. (Однако, если вы используете sudo, вам все равно придется указывать абсолютное расположение пути к сценарию, поскольку $HOME/bin не находится в корневом пути.)

Тело скрипта; он также доступен и обновлен в этой статье IBM :

#!/usr/bin/env bash  

(( $# == 0 )) && { printf "Usage: Please specify the name of one process \
to research.\n" >&2; exit 1; }

args=("$@")                   
for process in "${args[@]}"; do                    
    # store user input in a variable and warn then exit if program is not running
    queried_pid="$(pgrep "${process}" || { printf '%s\n' "No such program" >&2; })"

    # add the contents of the variable into an array
    pidarray=($(echo "$queried_pid"))

    # iterate over the array, however many pids have been found
    for i in "${pidarray[@]}"; do 
        printf "Pid is: %s\nExe is: %s\nCmdline is: %s\ncwd is: %s\n" "$(echo "$i")" \
    "$(stat -c %N /proc/"$i"/exe)" "$(cat /proc/"$i"/cmdline)" "$(cd /proc/"$i"/cwd/; pwd -P)"
    done
    printf "\n\n"
done

exit 

Пример вывода 1:

./proc_parse firefox


Pid is: 1830
Exe is: `/proc/1830/exe' -> `/usr/lib/firefox/firefox'
Cmdline is: /usr/lib/firefox/firefox
cwd is: /home/mike

Образец вывода 2 (имеющий дело с несколькими сообщениями ):

./proc_parse evince

Pid is: 3113
Exe is: `/proc/3113/exe' -> `/usr/bin/evince'
Cmdline is: evince/home/mike/Z_IBM_lpic_Linux_pdfs/l-proc-pdf.pdf
cwd is: /home/mike
Pid is: 3119
Exe is: `/proc/3119/exe' -> `/usr/lib/evince/evinced'
Cmdline is: /usr/lib/evince/evinced
cwd is: /
1
ответ дан 24 May 2018 в 20:09

Другие вопросы по тегам:

Похожие вопросы: