Easter79 Easter79
3年前
supervisor的command执行两条命令
如下supervisor的进程的comand配置参数只能写一个命令1、要执行多条命令,可以写个sh文件包含多条命令,然后shx xxxx.sh,但这样又多了一个文件,2、把所有命令放在字符串,然后用eval来执行,这样在shell窗口可以执行,但放在supervisor报找不到eval命令。比如:commandeval "
Kevin501 Kevin501
4年前
Go语言中new()和make()的区别
1.Go语言中的值类型和引用类型值类型:int,float,bool,string,struct和数组(数组要特别注意,别搞混了)变量直接存储值,分配栈区的内存空间,这些变量所占据的空间在函数被调用完后会自动释放。引用类型:slice,map,chan和值类型对应的指针变量存储的是一个地址(或者理解为指针),指针指向内存中真
Stella981 Stella981
3年前
Redis主从复制getshell技巧
Redis未授权漏洞常见的漏洞利用方式:Windows下,绝对路径写webshell、写入启动项。Linux下,绝对路径写webshell、公私钥认证获取root权限 、利用contrab计划任务反弹shell。基于Redis主从复制的机制,可以完美无损的将文件同步到从节点。这就使得它可以轻易实现以上任何一
Stella981 Stella981
3年前
C语言里有没有sort函数?有!
C库函数 qsort()描述C库函数 voidqsort(void\base,size\_tnitems,size\_tsize,int(\compar)(constvoid\,constvoid\)) 对数组进行排序。声明下面是qsort()函数
Stella981 Stella981
3年前
Shell 脚本自动监控重启 httpd 服务并记录日志
环境CentOS7思路设置一个死循环,执行脚本时开始启动httpd服务,同时开始记录当前时间,然后输出到日志中,再sleep14秒,之后马上开始停止httpd服务,同时开始记录当前时间,然后输出到日志中。重复这个死循环。代码用vitest.sh打开文件,按i进行编辑,输入下面代码:
Wesley13 Wesley13
3年前
Java中常见数据结构:List与Map
1:集合Collection(单列集合)List(有序,可重复)ArrayList底层数据结构是数组,查询快,增删慢线程不安全,效率高Vector底层数据结构是数组,查询快,增删慢线程安全,效率低LinkedList底层数据结构是链表,查询慢,增删快线程不安全,效率高Set(无序,唯一)HashSet底层数据结构是哈希表(实际上是
Stella981 Stella981
3年前
Linux软件包管理
二进制软件包管理(RPM、YUM)源代码包安装脚本安装(shell或java脚本)Debian系Linux软件包管理简介RPM软件包的一个列子:  sudo1.7.2pl5.3l5.i386.rpm其中包括软件名(sudo),版本号(1.7.2pl),发行号(5.el5),和硬件平台(i386)。  (
Wesley13 Wesley13
3年前
10 HashSet HashMap源码 Properties
2HashSet底层是使用HashMap实现的。当使用add方法将对象添加到Set当中时,实际上是将该对象作为底层所维护的Map对象的key,而value则都是同一个Object对象(该对象我们用不上);3\.HashMap底层维护一个Node数组,我们向HashMap中所放置的对象实际上是存储在该数组当中;HashMap中的Pu
Stella981 Stella981
3年前
Redis单机数据库
 单机数据库·Redis服务器的所有数据库都保存在redisServer.db数组中,而数据库的数量则由redisServer.dbnum属性保存。·客户端通过修改目标数据库指针,让它指向redisServer.db数组中的不同元素来切换不同的数据库。·数据库主要由dict和expires两个字典构成,其中dict字典负责保存键值对
深度学习 深度学习
1个月前
牛客网235698题:用滑动窗口寻找最多包含两种字符的最长子串
一、什么是?是一种用于处理/子区间问题的技术。它通过维护一个窗口(通常是子数组或子字符串),在遍历过程中动态调整窗口的边界,从而高效地解决问题。二、算法核心思想1.‌初始化窗口‌:通常从数组/字符串的起始位置开始1.‌扩展窗口‌:移动右边界,扩大窗口范围1