当前位置: 首页 > news >正文

jenkins服务启动-排错

在这里插入图片描述
服务状态为active (exited)
且进程不在

查看/etc/rc.d/init.d/jenkins配置 获取配置参数

[root@fy-jenkins-prod jenkins]# cat /etc/rc.d/init.d/jenkins | grep -v '#'JENKINS_WAR="/usr/lib/jenkins/jenkins.war"
test -r "$JENKINS_WAR" || { echo "$JENKINS_WAR not installed";if [ "$1" = "stop" ]; then exit 0;else exit 5; fi; }JENKINS_CONFIG=/etc/sysconfig/jenkins
test -e "$JENKINS_CONFIG" || { echo "$JENKINS_CONFIG not existing";if [ "$1" = "stop" ]; then exit 0;else exit 6; fi; }
test -r "$JENKINS_CONFIG" || { echo "$JENKINS_CONFIG not readable. Perhaps you forgot 'sudo'?";if [ "$1" = "stop" ]; then exit 0;else exit 6; fi; }JENKINS_PID_FILE="/var/run/jenkins.pid"
JENKINS_LOCKFILE="/var/lock/subsys/jenkins". /etc/init.d/functions[ -f "$JENKINS_CONFIG" ] && . "$JENKINS_CONFIG"[ -n "$JENKINS_HOME" ] || { echo "JENKINS_HOME not configured in $JENKINS_CONFIG";if [ "$1" = "stop" ]; then exit 0;else exit 6; fi; }
[ -d "$JENKINS_HOME" ] || { echo "JENKINS_HOME directory does not exist: $JENKINS_HOME";if [ "$1" = "stop" ]; then exit 0;else exit 1; fi; }candidates="
/usr/java/jdk1.8.0_221/bin/java
/etc/alternatives/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/lib/jvm/java-11.0/bin/java
/usr/lib/jvm/jre-11.0/bin/java
/usr/lib/jvm/java-11-openjdk-amd64
/usr/bin/java
"
for candidate in $candidates
do[ -x "$JENKINS_JAVA_CMD" ] && breakJENKINS_JAVA_CMD="$candidate"
donePARAMS="--logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war"
[ -n "$JENKINS_PORT" ] && PARAMS="$PARAMS --httpPort=$JENKINS_PORT"
[ -n "$JENKINS_LISTEN_ADDRESS" ] && PARAMS="$PARAMS --httpListenAddress=$JENKINS_LISTEN_ADDRESS"
[ -n "$JENKINS_HTTPS_PORT" ] && PARAMS="$PARAMS --httpsPort=$JENKINS_HTTPS_PORT"
[ -n "$JENKINS_HTTPS_KEYSTORE" ] && PARAMS="$PARAMS --httpsKeyStore='$JENKINS_HTTPS_KEYSTORE'"
[ -n "$JENKINS_HTTPS_KEYSTORE_PASSWORD" ] && PARAMS="$PARAMS --httpsKeyStorePassword='$JENKINS_HTTPS_KEYSTORE_PASSWORD'"
[ -n "$JENKINS_HTTPS_LISTEN_ADDRESS" ] && PARAMS="$PARAMS --httpsListenAddress=$JENKINS_HTTPS_LISTEN_ADDRESS"
[ -n "$JENKINS_HTTP2_PORT" ] && PARAMS="$PARAMS --http2Port=$JENKINS_HTTP2_PORT"
[ -n "$JENKINS_HTTP2_LISTEN_ADDRESS" ] && PARAMS="$PARAMS --http2ListenAddress=$JENKINS_HTTP2_LISTEN_ADDRESS"
[ -n "$JENKINS_DEBUG_LEVEL" ] && PARAMS="$PARAMS --debug=$JENKINS_DEBUG_LEVEL"
[ -n "$JENKINS_HANDLER_STARTUP" ] && PARAMS="$PARAMS --handlerCountStartup=$JENKINS_HANDLER_STARTUP"
[ -n "$JENKINS_HANDLER_MAX" ] && PARAMS="$PARAMS --handlerCountMax=$JENKINS_HANDLER_MAX"
[ -n "$JENKINS_HANDLER_IDLE" ] && PARAMS="$PARAMS --handlerCountMaxIdle=$JENKINS_HANDLER_IDLE"
[ -n "$JENKINS_EXTRA_LIB_FOLDER" ] && PARAMS="$PARAMS --extraLibFolder='$JENKINS_EXTRA_LIB_FOLDER'"
[ -n "$JENKINS_ARGS" ] && PARAMS="$PARAMS $JENKINS_ARGS"if [ "$JENKINS_ENABLE_ACCESS_LOG" = "yes" ]; thenPARAMS="$PARAMS --accessLoggerClassName=winstone.accesslog.SimpleAccessLogger --simpleAccessLogger.format=combined --simpleAccessLogger.file=/var/log/jenkins/access_log"
fiRETVAL=0case "$1" instart)echo -n "Starting Jenkins "eval "daemonize -u \"$JENKINS_USER\" -p \"$JENKINS_PID_FILE\" \"$JENKINS_JAVA_CMD\" $JENKINS_JAVA_OPTIONS \"-DJENKINS_HOME=$JENKINS_HOME\" -jar \"$JENKINS_WAR\" $PARAMS"RETVAL=$?if [ $RETVAL = 0 ]; thensuccessMY_SESSION_ID=`/bin/ps h -o sess -p $$`/bin/ps hww -u "$JENKINS_USER" -o sess,ppid,pid,cmd | \while read sess ppid pid cmd; do[ "$ppid" = 1 ] || continueecho "$cmd" | grep $JENKINS_WAR > /dev/null[ $? = 0 ] || continueecho $pid > "$JENKINS_PID_FILE"donetouch $JENKINS_LOCKFILEelsefailurefiecho;;stop)echo -n "Shutting down Jenkins "killproc jenkinsrm -f $JENKINS_LOCKFILERETVAL=$?echo;;try-restart|condrestart)if test "$1" = "condrestart"; thenecho "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}"fi$0 statusif test $? = 0; then$0 restartelsefi;;restart)$0 stop$0 start;;force-reload)echo -n "Reload service Jenkins "$0 try-restart;;reload)$0 restart;;status)status jenkinsRETVAL=$?;;probe)test "$JENKINS_CONFIG" -nt "$JENKINS_PID_FILE" && echo reload;;*)echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"exit 1;;
esac
exit $RETVAL

获取里面的参数

[root@fy-jenkins-prod jenkins]# cat /etc/rc.d/init.d/jenkins | grep -v '#'JENKINS_WAR="/usr/lib/jenkins/jenkins.war"
test -r "$JENKINS_WAR" || { echo "$JENKINS_WAR not installed";if [ "$1" = "stop" ]; then exit 0;else exit 5; fi; }JENKINS_CONFIG=/etc/sysconfig/jenkins
test -e "$JENKINS_CONFIG" || { echo "$JENKINS_CONFIG not existing";if [ "$1" = "stop" ]; then exit 0;else exit 6; fi; }
test -r "$JENKINS_CONFIG" || { echo "$JENKINS_CONFIG not readable. Perhaps you forgot 'sudo'?";if [ "$1" = "stop" ]; then exit 0;else exit 6; fi; }JENKINS_PID_FILE="/var/run/jenkins.pid"
JENKINS_LOCKFILE="/var/lock/subsys/jenkins". /etc/init.d/functions[ -f "$JENKINS_CONFIG" ] && . "$JENKINS_CONFIG"[ -n "$JENKINS_HOME" ] || { echo "JENKINS_HOME not configured in $JENKINS_CONFIG";if [ "$1" = "stop" ]; then exit 0;else exit 6; fi; }
[ -d "$JENKINS_HOME" ] || { echo "JENKINS_HOME directory does not exist: $JENKINS_HOME";if [ "$1" = "stop" ]; then exit 0;else exit 1; fi; }candidates="
/usr/java/jdk1.8.0_221/bin/java
/etc/alternatives/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/lib/jvm/java-11.0/bin/java
/usr/lib/jvm/jre-11.0/bin/java
/usr/lib/jvm/java-11-openjdk-amd64
/usr/bin/java
"
for candidate in $candidates
do[ -x "$JENKINS_JAVA_CMD" ] && breakJENKINS_JAVA_CMD="$candidate"
donePARAMS="--logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war"
[ -n "$JENKINS_PORT" ] && PARAMS="$PARAMS --httpPort=$JENKINS_PORT"
[ -n "$JENKINS_LISTEN_ADDRESS" ] && PARAMS="$PARAMS --httpListenAddress=$JENKINS_LISTEN_ADDRESS"
[ -n "$JENKINS_HTTPS_PORT" ] && PARAMS="$PARAMS --httpsPort=$JENKINS_HTTPS_PORT"
[ -n "$JENKINS_HTTPS_KEYSTORE" ] && PARAMS="$PARAMS --httpsKeyStore='$JENKINS_HTTPS_KEYSTORE'"
[ -n "$JENKINS_HTTPS_KEYSTORE_PASSWORD" ] && PARAMS="$PARAMS --httpsKeyStorePassword='$JENKINS_HTTPS_KEYSTORE_PASSWORD'"
[ -n "$JENKINS_HTTPS_LISTEN_ADDRESS" ] && PARAMS="$PARAMS --httpsListenAddress=$JENKINS_HTTPS_LISTEN_ADDRESS"
[ -n "$JENKINS_HTTP2_PORT" ] && PARAMS="$PARAMS --http2Port=$JENKINS_HTTP2_PORT"
[ -n "$JENKINS_HTTP2_LISTEN_ADDRESS" ] && PARAMS="$PARAMS --http2ListenAddress=$JENKINS_HTTP2_LISTEN_ADDRESS"
[ -n "$JENKINS_DEBUG_LEVEL" ] && PARAMS="$PARAMS --debug=$JENKINS_DEBUG_LEVEL"
[ -n "$JENKINS_HANDLER_STARTUP" ] && PARAMS="$PARAMS --handlerCountStartup=$JENKINS_HANDLER_STARTUP"
[ -n "$JENKINS_HANDLER_MAX" ] && PARAMS="$PARAMS --handlerCountMax=$JENKINS_HANDLER_MAX"
[ -n "$JENKINS_HANDLER_IDLE" ] && PARAMS="$PARAMS --handlerCountMaxIdle=$JENKINS_HANDLER_IDLE"
[ -n "$JENKINS_EXTRA_LIB_FOLDER" ] && PARAMS="$PARAMS --extraLibFolder='$JENKINS_EXTRA_LIB_FOLDER'"
[ -n "$JENKINS_ARGS" ] && PARAMS="$PARAMS $JENKINS_ARGS"if [ "$JENKINS_ENABLE_ACCESS_LOG" = "yes" ]; thenPARAMS="$PARAMS --accessLoggerClassName=winstone.accesslog.SimpleAccessLogger --simpleAccessLogger.format=combined --simpleAccessLogger.file=/var/log/jenkins/access_log"
fiRETVAL=0case "$1" instart)echo "JENKINS_USER: $JENKINS_USER" >> /tmp/param.txtecho "JENKINS_PID_FILE: $JENKINS_PID_FILE" >> /tmp/param.txtecho "JENKINS_JAVA_CMD: $JENKINS_JAVA_CMD" >> /tmp/param.txtecho "JENKINS_JAVA_OPTIONS: $JENKINS_JAVA_OPTIONS" >> /tmp/param.txtecho "JENKINS_HOME: $JENKINS_HOME" >> /tmp/param.txtecho "JENKINS_WAR: $JENKINS_WAR" >> /tmp/param.txtecho "PARAMS: $PARAMS" >> /tmp/param.txtecho -n "Starting Jenkins "eval "daemonize -u \"$JENKINS_USER\" -p \"$JENKINS_PID_FILE\" \"$JENKINS_JAVA_CMD\" $JENKINS_JAVA_OPTIONS \"-DJENKINS_HOME=$JENKINS_HOME\" -jar \"$JENKINS_WAR\" $PARAMS"RETVAL=$?if [ $RETVAL = 0 ]; thensuccessMY_SESSION_ID=`/bin/ps h -o sess -p $$`/bin/ps hww -u "$JENKINS_USER" -o sess,ppid,pid,cmd | \while read sess ppid pid cmd; do[ "$ppid" = 1 ] || continueecho "$cmd" | grep $JENKINS_WAR > /dev/null[ $? = 0 ] || continueecho $pid > "$JENKINS_PID_FILE"donetouch $JENKINS_LOCKFILEelsefailurefiecho;;stop)echo -n "Shutting down Jenkins "killproc jenkinsrm -f $JENKINS_LOCKFILERETVAL=$?echo;;try-restart|condrestart)if test "$1" = "condrestart"; thenecho "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}"fi$0 statusif test $? = 0; then$0 restartelsefi;;restart)$0 stop$0 start;;force-reload)echo -n "Reload service Jenkins "$0 try-restart;;reload)$0 restart;;status)status jenkinsRETVAL=$?;;probe)test "$JENKINS_CONFIG" -nt "$JENKINS_PID_FILE" && echo reload;;*)echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"exit 1;;
esac
exit $RETVAL

使用手动命令执行

[root@fy-jenkins-prod jenkins]# cat /tmp/param.txt 
JENKINS_USER: root
JENKINS_PID_FILE: /var/run/jenkins.pid
JENKINS_JAVA_CMD: /usr/java/jdk1.8.0_221/bin/java
JENKINS_JAVA_OPTIONS: -Djava.awt.headless=true -Xms8g -Xmx8g -Xmn1g
JENKINS_HOME: /data/jenkins20221130
JENKINS_WAR: /usr/lib/jenkins/jenkins.war
PARAMS: --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --httpPort=9998 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20#上面是从脚本中获取的参数,后面使用之后将脚本中输出命令注释掉
#小技巧将jenkins中的命令提问给deepseek,再将参数提供,让它生成下面的命令sudo -u root /usr/java/jdk1.8.0_221/bin/java -Djava.awt.headless=true -Xms8g -Xmx8g -Xmn1g -DJENKINS_HOME=/data/jenkins20221130 -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --httpPort=9998 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20

在这里插入图片描述

发现内存不足,改为4g,正常

sudo -u root /usr/java/jdk1.8.0_221/bin/java -Djava.awt.headless=true -Xms4g -Xmx4g -Xmn1g -DJENKINS_HOME=/data/jenkins20221130 -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --httpPort=9998 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20

修改 /etc/rc.d/init.d/jenkins文件配置的/etc/sysconfig/jenkins配置文件,将Java启动参数的8g改为4g
在这里插入图片描述
在这里插入图片描述

systemctl daemon-reload 
systemctl restart jenkins
systemctl status jenkins

在这里插入图片描述

相关文章:

jenkins服务启动-排错

服务状态为active (exited) 且进程不在 查看/etc/rc.d/init.d/jenkins配置 获取配置参数 [rootfy-jenkins-prod jenkins]# cat /etc/rc.d/init.d/jenkins | grep -v #JENKINS_WAR"/usr/lib/jenkins/jenkins.war" test -r "$JENKINS_WAR" || { echo "…...

CF 144A.Arrival of the General(Java实现)

题目分析 一个n个身高数据,问最高的到最前面,最矮的到最后面的最短交换次数 思路分析 首先,如果数据有重复项,例如示例二中,最矮的数据就是最后一个出现的数据位置,最高的数据就是最先出现的数据位置&…...

SAP-ABAP:SAP中REPORT程序和online程序的区别对比

在SAP中,REPORT程序和Online程序(通常指Dialog程序)是两种常见的ABAP程序类型,它们在用途、结构和用户交互方式上有显著区别。以下是它们的详细对比: 1. 用途 REPORT程序Online程序主要用于数据查询、报表生成和批量数…...

Java发展史

JavaEE的由来 语言的诞生 Java的前身是Oak语言,其目的是搞嵌入式开发开发智能面包机 叮~~~🍞🍞🍞 产品以失败告终 巅峰 网景公司需要网景浏览器打开网页,Oak->Java,进行前端开发(相关技…...

vue3--SVG图标的封装与使用

流程 终端输入- -安装下面这个包 npm install vite-plugin-svg-icons -Dvite.config.ts文件中引入 import {createSvgIconsPlugin} from vite-plugin-svg-iconsvite.config.ts文件中配置plugins选项 将下面代码 createSvgIconsPlugin({//用于指定包含 SVG 图标的文件夹路径…...

Datawhale Ollama教程笔记3

小白的看课思路: Ollama REST API 是什么? 想象一下,你有一个智能的“盒子”(Ollama),里面装了很多聪明的“小助手”(语言模型)。如果你想让这些“小助手”帮你完成一些任务&#…...

学习数据结构(10)栈和队列下+二叉树(堆)上

1.关于栈和队列的算法题 (1)用队列实现栈 解法一:(参考代码) 题目要求实现六个函数,分别是栈初始化,入栈,移除并返回栈顶元素,返回栈顶元素,判空&#xff0…...

洛谷 P3660 USACO17FEB Why Did the Cow Cross the Road III 题解

题意 有一个圆,圆周上按顺时针方向给出 2 n 2n 2n个点。第 i i i个点的颜色是 c o l o r i color_i colori​,其中数据保证 1 ≤ c o l o r i ≤ n 1\le color_i\le n 1≤colori​≤n,而且每种不同的颜色有且只有两个点。不存在位置重叠的点…...

【数据结构】(9) 优先级队列(堆)

一、优先级队列 优先级队列不同于队列,队列是先进先出,优先级队列是优先级最高的先出。一般有两种操作:返回最高优先级对象,添加一个新对象。 二、堆 2.1、什么是堆 堆也是一种数据结构,是一棵完全二叉树&#xff0c…...

如何提升爬虫获取数据的准确性?

提升爬虫获取数据的准确性是确保数据分析和后续应用有效性的关键。以下是一些经过验证的方法和最佳实践,可以帮助提高爬虫数据的准确性: 1. 数据清洗 数据清洗是提升数据准确性的重要步骤,主要包括去除重复数据、处理缺失值和异常值。 去除…...

Obsidian及Zotero常用的插件

Obsidian插件 Minimal Theme Settings(Life,zotero)【必需】 界面样式设置所需插件 Style Settings(Life,zotero)【必需】界面样式设置所需插件 Recent Files(Life,zotero&#xf…...

闲鱼IP属地是通过电话号码吗?

在闲鱼这样的二手交易平台上,用户的IP属地信息对于维护交易安全、增强用户间的信任至关重要。然而,关于闲鱼IP属地是如何确定的,不少用户存在疑惑,尤其是它与电话号码之间是否存在关联。本文将深入探讨这一问题,揭示闲…...

C#多线程异步连接MySQL与SQLserver数据库

C#多线程异步连接MySQL与SQLserver数据库 一、前言二、多线程异步连接数据库代码2.1代码块2.2代码说明 参考文档 一、前言 当编写代码连接多台设备上的数据库时,如果采用同步逐个连接的方式,在网络畅通的情况下连接速度尚可,但当其中一台设备…...

51单片机-数码管

目录 1、静态数码管 1.1、数码管是如何显示出字符 1.2、数码管静态显示原理 1.3、74HC573芯片的使用 1.4、静态数码管编程 2、动态数码管 2.1、数码管动态显示原理 2.2、74HC138芯片的使用 2.3、编写动态数码管程序 1、静态数码管 1.1、数码管是如何显示出字符 单片机…...

C#学习之S参数读取(s2p文件)

目录 一、创作灵感 二、S2PFileReader类 1.代码示例 2.代码说明 a.ReadS2PFile 方法: b.DataTable 结构: 三、S2PFileReader类的调用演示 1.使用示例 一、创作灵感 虽然MATLAB处理数据很实用,但是C#常用于程控仪器的控制&#xff0c…...

Spring Boot “约定大于配置”

什么是“约定大于配置”? “约定大于配置”是一种简化开发的设计理念。简单来说,就是框架默认提供了常见的配置和行为,开发者只需要按照约定来编写代码,避免了繁琐的配置,只在需要时进行定制和调整。这种理念在Spring…...

传输层协议TCP ( 下 )

文章目录 前言序号与确认序号超时重传RTOJacobson算法内核中超时时间的计算 滑动窗口滑动窗口延迟应答流量控制 拥塞控制慢启动拥塞避免快重传快速恢复 保活机制参考资料 前言 TCP(Transmission Control Protocol,传输控制协议)是互联网最重要…...

NLP 八股 DAY1:BERT

BERT全称:Pre-training of deep bidirectional transformers for language understanding,即深度双向Transformer。 模型训练时的两个任务是预测句⼦中被掩盖的词以及判断输⼊的两个句⼦是不是上下句。在预训练 好的BERT模型后⾯根据特定任务加上相应的⽹…...

演示synchronized锁机制用法的简单Demo

演示synchronized锁机制用法的简单Demo。我们以"银行开户"场景为例:每个用户只能创建一个账户(模拟类似原代码中每个用户只能有一个私有空间的限制)。 第1步:创建项目结构 demo-lock ├── src/main/java/com/exampl…...

Datawhale 数学建模导论二 笔记1

第6章 数据处理与拟合模型 本章主要涉及到的知识点有: 数据与大数据Python数据预处理常见的统计分析模型随机过程与随机模拟数据可视化 本章内容涉及到基础的概率论与数理统计理论,如果对这部分内容不熟悉,可以参考相关概率论与数理统计的…...

idea大量爆红问题解决

问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

C++.OpenGL (10/64)基础光照(Basic Lighting)

基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

九天毕昇深度学习平台 | 如何安装库?

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

在Ubuntu24上采用Wine打开SourceInsight

1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...