mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-11-05 00:13:56 +08:00
✨ Sync 2026-04-11 23:43:05
This commit is contained in:
1 parent
7ecb8c8453
commit
198ffd908e
14 files changed
+233
-150
No files matched your search
@@ -13,6 +13,7 @@ TMP_BIN_PATH=${TMP_PATH}/bin
|
||||
TMP_IFACE_PATH=${TMP_PATH}/iface
|
||||
TMP_ROUTE_PATH=${TMP_PATH}/route
|
||||
TMP_SCRIPT_FUNC_PATH=${TMP_PATH}/script_func
|
||||
TMP_PROCESS_LIST_PATH=${TMP_PATH}/process_list
|
||||
|
||||
. /lib/functions/network.sh
|
||||
|
||||
@@ -69,6 +70,7 @@ set_cache_var() {
|
||||
shift 1
|
||||
local val="$@"
|
||||
[ -n "${key}" ] && [ -n "${val}" ] && {
|
||||
[ ! -d $TMP_PATH ] && mkdir -p $TMP_PATH
|
||||
sed -i "/${key}=/d" $TMP_PATH/var >/dev/null 2>&1
|
||||
echo "${key}=\"${val}\"" >> $TMP_PATH/var
|
||||
eval ${key}=\"${val}\"
|
||||
@@ -372,11 +374,12 @@ delete_ip2route() {
|
||||
}
|
||||
|
||||
ln_run() {
|
||||
local file_func=${1}
|
||||
local ln_name=${2}
|
||||
local output=${3}
|
||||
local queue_run=${1}
|
||||
local file_func=${2}
|
||||
local ln_name=${3}
|
||||
local output=${4}
|
||||
shift 4;
|
||||
|
||||
shift 3;
|
||||
if [ "${file_func%%/*}" != "${file_func}" ]; then
|
||||
[ ! -L "${file_func}" ] && {
|
||||
ln -s "${file_func}" "${TMP_BIN_PATH}/${ln_name}" >/dev/null 2>&1
|
||||
@@ -386,16 +389,37 @@ ln_run() {
|
||||
fi
|
||||
#echo "${file_func} $*" >&2
|
||||
[ -n "${file_func}" ] || log 1 "$(i18n "%s not found, unable to start..." "${ln_name}")"
|
||||
|
||||
[ "${queue_run}" == "1" ] && {
|
||||
mkdir -p $TMP_PROCESS_LIST_PATH
|
||||
process_count=$(ls $TMP_PROCESS_LIST_PATH | grep -v "^_" | wc -l)
|
||||
process_count=$((process_count + 1))
|
||||
echo "${file_func:-log 1 "${ln_name}"} $@ >${output}" > $TMP_PROCESS_LIST_PATH/$process_count
|
||||
return
|
||||
}
|
||||
|
||||
${file_func:-log 1 "${ln_name}"} "$@" >${output} 2>&1 &
|
||||
|
||||
local pid=${!}
|
||||
#sleep 1s
|
||||
#kill -0 ${pid} 2>/dev/null
|
||||
#local status_code=${?}
|
||||
[ -n "$NO_REC_PROCESS" ] && return
|
||||
|
||||
process_count=$(ls $TMP_SCRIPT_FUNC_PATH | grep -v "^_" | wc -l)
|
||||
process_count=$((process_count + 1))
|
||||
echo "${file_func:-log 1 "${ln_name}"} $@ >${output}" > $TMP_SCRIPT_FUNC_PATH/$process_count
|
||||
#return ${status_code}
|
||||
}
|
||||
|
||||
run_process_queue() {
|
||||
[ -d ${TMP_PROCESS_LIST_PATH} ] && {
|
||||
for filename in $(ls ${TMP_PROCESS_LIST_PATH}); do
|
||||
cmd=$(cat ${TMP_PROCESS_LIST_PATH}/${filename})
|
||||
cmd_check=$(echo $cmd | awk -F '>' '{print $1}')
|
||||
icount=$(pgrep -f "$(echo $cmd_check)" | wc -l)
|
||||
if [ $icount = 0 ]; then
|
||||
eval $(echo "nohup ${cmd} 2>&1 &") >/dev/null 2>&1 &
|
||||
fi
|
||||
rm -rf ${TMP_PROCESS_LIST_PATH}/${filename}
|
||||
done
|
||||
}
|
||||
rm -rf ${TMP_PROCESS_LIST_PATH}
|
||||
}
|
||||
|
||||
kill_all() {
|
||||
|
||||
Reference in new issue
Block a user