Почему моя машина CentOS думает, что у меня все еще установлена ​​Java 6 вместо 8?

Если используется bash (или другая оболочка с включенным расширением переменных) и аргументы не имеют мест внутри, можно выполнить следующие действия:

#!/bin/bash
line=$*
echo "${line// /:delimiter:}"

В случае мест необходимо использовать другой разделитель полей путем установки переменной IFS перед строкой .

-121--100459-

использовать lftp

пример:

    lftp -u user,pass ftp.example.com
-121--243310-

Как это? Возможно, это нужно подправить, но я уверен, что вы можете понять это с этой отправной точкой. Вы можете запустить его из крона. Если по какой-то причине он не работает, это может быть ошибкой форматирования из-за веб- сайта.

#!/bin/bash                                                                                                                                                                                               

# Internal field separator                                                                                                                                                                                
IFS="                                                                                                                                                                                                     
"                                                                                                                                                                                                         


# Settings
minUid=1000 # Minimum UID to kill (protect services and root)
maxCpu=25 # Maximum %CPU a process can consume for $maxTime
maxTime=3600 # Maxumum a time a process can run, in seconds

# Load and format process list
psList=$(ps -eo pid,uid,pcpu,etimes,args | awk '{ print $1" "$2" "$3" "$4" "$5}' | tail -n+2)

echo Please wait...

# Do this for each process
for process in $psList ; do {
        pid=$(echo $process | cut -d' ' -f1) #pid
        uid=$(echo $process | cut -d' ' -f2) #uid
        cpu=$(echo $process | cut -d' ' -f3) #cpu usage
        cpu=$(printf "%.0f" $cpu) #convert float to integer
        etimes=$(echo $process | cut -d' ' -f4) #elapsed time since pid was started
        cmd=$(echo $process | cut -d' ' -f5) #command name

        # Check if the UID is ok to kill
        if [ $pid -ge $minUid ]; then {

                # Check if it matches time + cpu usage restrictions
                if [ $etimes -ge $maxTime ] && [ $cpu -ge $maxCpu ] ; then {
                        # Indentified process to kill
                        echo "kill pid=$pid uid=$uid cpu=$cpu etimes=$etimes cmd=$cmd" 
                        kill -KILL $pid
                } fi
        } fi


} done
0
16.02.2018, 00:55
1 ответ

Похоже, что в вашей системе все еще установлена ​​версия Java 1.6. Кроме того, переменные среды, такие как $JAVA_HOMEи $JRE_HOME, могут быть по-прежнему установлены в старом каталоге. Также могут быть символические ссылки, такие как /usr/java/latest, которые указывают на предыдущую версию.

Я рекомендовал начать с поиска пути установки старой версии и переменных окружения. Для этого вы можете использовать такие команды, как:

sudo find / -name "java"
grep --color -ir "JAVA_HOME\|JRE_HOME" /{etc,opt,var}/*
0
28.01.2020, 04:30

Теги

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