
Linux
战地小记者
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
2021.4.8C++学习笔记————重复进程检测
C++学习笔记————重复进程检测在服务器启动服务端时,服务端的ip和端口是给定的,所以要防止重复启动服务进程后互相阻塞ip的情况,在服务进程执行前需要进行重复进程检测,查看当前进程是否已经在运行。代码:int ProcessIfExist(char *pname){ char cmd[512]; char aline[256]; FILE *tmpfp; int iPExistFlag=0; char tpname[256]; char pid[10]; char sfilename原创 2021-04-08 09:42:17 · 493 阅读 · 0 评论 -
2021.4.7工作问题记录————awk: ^ backslash not last character on line
工作问题记录————awk: ^ backslash not last character on line在测试服务器时在终端查找服务端的进程号,使用指令:ps -ef|grep -v grep|grep "bash"| awk '{printf(\"%d|%s\\n\",$2,$8)}'显示错误:解决:该指令是从服务端检测进程重复代码中截取的,在终端直接运行时不需要转义符。指令:ps -ef|grep -v grep|grep "bash"| awk '{printf("%d|%s\n"原创 2021-04-07 09:56:42 · 3315 阅读 · 0 评论 -
2021.3.30C++学习笔记————条件变量实现定时任务
C++学习笔记————条件变量实现定时任务近期部署的服务需要添加每隔十分钟轮询一次的功能,即定时任务,使用条件变量实现定时。#include <stdio.h>#include <stdlib.h>#include <stdarg.h>#include <string.h>#include <time.h>#include <iostream>#include <map>#include <set&g原创 2021-03-30 09:30:18 · 433 阅读 · 0 评论 -
2021.3.29C++学习笔记————watchdog守护进程自动重启
C++学习笔记————watchdog守护进程自动重启最近写完一个服务端后,希望能在启动后如果程序异常退出了能够自动重启。经过查询,自己手动实现看门狗进程自动重启一般有两个方法:一.脚本重启:#!/bin/shwhile truedops -ef | grep "test(程序名)" | grep -v "grep"if ["$?" -eq 0]then./testecho "wath process has been restarted! "elseecho "watch原创 2021-03-30 09:08:43 · 1965 阅读 · 1 评论 -
2021.3.25C++学习笔记————守护进程
C++学习笔记————守护进程工作中要在Linux下部署一个代理服务,需要使其在后台运行并且防止僵尸进程,因此需要守护进程Daemon。守护进程详细流程:https://blog.youkuaiyun.com/lianghe_work/article/details/47659889Daemon代码:#include <unistd.h> #include <signal.h> #include <fcntl.h> #include <sys/sysl原创 2021-03-25 10:35:21 · 343 阅读 · 0 评论 -
2020.12.8Linux学习笔记————进程 fork() 和 pid
Linux学习笔记————进程 fork() 和 pidfork调用的一个奇妙之处就是它仅仅被调用一次,却能够返回两次,它可能有三种不同的返回值:1)在父进程中,fork返回新创建子进程的进程ID;2)在子进程中,fork返回0;3)如果出现错误,fork返回一个负值;创建新进程成功后,系统中出现两个基本完全相同的进程,这两个进程执行没有固定的先后顺序,哪个进程先执行要看系统的进程调度策略。此时,两个进程都从fork开始往下执行,只是pid不同。有人可能疑惑为什么不是从#include处开始复制原创 2020-12-08 14:02:00 · 371 阅读 · 0 评论 -
2020.11.8工作问题记录————Centos6安装glibc2.14
工作问题记录————Centos6安装glibc2.14通过 rmp 来安装别人已经编译好的模块。链接: 网盘下载地址 提取码: sbui解压后进入该文件夹目录,输入如下安装命令:rpm -Uvh glibc-2.14.1-6.x86_64.rpm glibc-common-2.14.1-6.x86_64.rpm glibc-headers-2.14.1-6.x86_64.rpm glibc-devel-2.14.1-6.x86_64.rpm nscd-2.14.1-6.x86_64.rpm安装原创 2020-11-08 17:20:21 · 375 阅读 · 0 评论 -
2020.9.30工作问题记录————gcc,g++编译器中文乱码解决
工作问题记录————gcc,g++编译器中文乱码解决在Centos虚拟机中,使用g++编译器编译C语言项目,编译结果出现中英文混合,且中文为乱码。中文乱码是在g++编译后的项目编译结果中出现,并非C语言项目输出中文乱码。GCC/G++乱码的解决方案在网上流传得最多的是:export LANG=C这个方法是可以解决GCC/G++乱码的问题,但是会导至系统中一些其他工具无法无法正常工作。最完美的解决方案是:locale命令来查看你的系统使用的字符集。比如我的SUSE11 ,默认为:en_US原创 2020-09-30 10:06:12 · 1143 阅读 · 0 评论 -
2020.9.30工作问题记录————Centos6安装jdk1.8
工作问题记录————Centos6安装jdk1.8首先从官网下载jdk1.8,地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html下载之后,上传到Linux中,我是使用CRT上传的,我上传到/usr/local目录。之后的步骤如下:1.进入到/usr/local目录下创建一个叫jdk的文件夹,使用mkdir jdk命令即可2.使用mv命令移动压缩包到jdk目录下,使用tar z原创 2020-09-30 09:49:43 · 381 阅读 · 0 评论 -
2020.9.30工作问题记录————Centos配置ip地址
工作问题记录————Centos配置ip地址查看ip信息:ifconfig修改ifcfg-eth0网卡文件vi /etc/sysconfig/network-scripts/ifcfg-eth0动态ip:重启网络service network restart静态ip:修改ifcfg-eth0网卡文件vi /etc/sysconfig/network-scripts/ifcfg-eth0修改: BOOTPROTO=static -->IP方式 ONBOOT=y原创 2020-09-30 09:41:54 · 302 阅读 · 0 评论 -
2020.9.30工作问题记录————Centos7安装cmake
编译安装cmake下载cmake源码包cmake-2.8.4.tar.gz,mv到/usr/local/src目录下[root@localhost ~]# cd /usr/local/src/[root@localhost src]# tar xzvf cmake-2.8.7.tar.gz[root@localhost src]# cd cmake-2.8.7[root@localhost cmake-2.8.4]# ./bootstrapCMake 2.8.4, Copyright 200转载 2020-09-30 09:31:45 · 551 阅读 · 0 评论 -
2020.9.30工作问题记录————CentOS关闭防火墙
CentOS 7.0默认使用的是firewall作为防火墙查看防火墙状态firewall-cmd --state停止firewallsystemctl stop firewalld.service禁止firewall开机启动systemctl disable firewalld.service关闭selinux进入到/etc/selinux/config文件vi /etc/selinux/config将SELINUX=enforcing改为SELINUX=disabled配制免转载 2020-09-30 09:26:03 · 288 阅读 · 0 评论 -
2020.9.16工作问题记录————nginx+keepalived实现高可用
工作问题记录————nginx+keepalived实现高可用首先通过 nginx 实现了互备数据库的负载均衡,现在要将两个主机上的 nginx 服务实现高可用,通过 keepalived 将两个主机的 nginx 服务虚拟为同一个服务 ip 。1.安装 nginx 和 keepalived :CentOS6离线安装nginx和keepalived2.nginx 配置负载均衡:nginx配置数据库负载均衡3.编辑 keepalived 配置文件:cd /etc/keepalivedcp ke原创 2020-09-16 15:05:38 · 338 阅读 · 0 评论 -
2020.9.16工作问题记录————nginx配置数据库负载均衡
工作问题记录————nginx配置数据库负载均衡利用 nginx 的 ngx_stream_core_module 模块可以实现数据库的负载均衡。nginx 是默认是没有开启该模块的,要开启就需要安装 nginx 时 configuration 中添加 –with-stream 选项。CentOS6离线安装nginx和keepalived现有两个互备的mysql,地址分别为:192.168.0.215:3306192.168.0.216:3306将两个数据库服务做成负载均衡。1.编辑 ngin原创 2020-09-16 14:41:19 · 412 阅读 · 0 评论 -
2020.9.16工作问题记录————Nginx: [error] open() "/usr/local/Nginx/logs/Nginx.pid“ failed
工作问题记录————Nginx: [error] open() "/usr/local/Nginx/logs/Nginx.pid" failed在安装 nginx 后,使用重启服务指令/user/local/nginx/sbin/nginx -s reload出错,错误信息为:解决方法:##使用nginx -c的参数指定nginx.conf文件的位置/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf...原创 2020-09-16 14:30:00 · 604 阅读 · 0 评论 -
2020.9.16工作问题记录————CentOS6离线安装nginx和keepalived
工作问题记录————CentOS6离线安装nginx和keepalived1.下载 nginx 和 keepalived 安装包并传入虚拟机:nginx 下载地址:http://nginx.org/download/keepalived 下载地址:http://www.keepalived.org/download.html使用 secureCRT 远程登录虚拟机,快捷键 Alt+P 打开文件传输,传入 nginx 和 keepalived 安装包:mkdir /user/local/nginx原创 2020-09-16 11:10:02 · 482 阅读 · 0 评论 -
2020.9.16工作问题记录————CentOS6挂载镜像离线安装gcc,g++和其他依赖库
工作问题记录————CentOS6挂载镜像离线安装gcc,g++和其他依赖库使用iso镜像安装完虚拟机后,想要离线安装 gcc 编译器不需要将每一个依赖包都下载下来,可以通过挂载镜像的方式直接离线安装。1.将 iso 镜像传入虚拟机:使用 secureCRT 远程登录虚拟机,用快捷键 Alt+P 打开文件传输,将 CentOS-6.9-x86_64-bin-DVD1.iso 文件(安装虚拟机所用的镜像)传入虚拟机。2.挂载 iso 镜像文件:将 iso 镜像文件挂载到虚拟机并设置 yum 源:m原创 2020-09-16 10:13:32 · 762 阅读 · 0 评论 -
2020.9.15工作问题记录————CentOS6离线安装Mysql5.7
工作问题记录————CentOS6离线安装Mysql5.71.下载mysql离线安装包:mysql-5.7.25-1.el6.x86_64.rpm-bundle.tar下载百度云资源:百度云:https://pan.baidu.com/s/1Sfom_aNhTyZnR7KGTZIfFw提取码:ej1y2.传入mysql安装包到CentOS系统:SecurtCRT远程登录CentOS6虚拟机。快捷键 Alt+P 打开文件传输,将 mysql-5.7.25-1.el6.x86_64.rpm-bun原创 2020-09-15 17:22:06 · 395 阅读 · 0 评论 -
2020.6.15工作记录————Linux下Tomcat启动服务运行项目
之前使用Tomcat一直是在Windows下IDEA中配置tomcat启动服务,工作中任务要求将项目放到Linux环境的服务器里运行,但是为了启动一个web项目再在Linux下安装一个Eclipse明显不明智,所以开始学习直接用tomcat启动项目。大家好,相信不少初学者不知道如何将windows eclipse下开发的web项目部署到linux系统的tomcat下,今天我将图文并茂教大家。首先呢,比如我新建一个web项目,打开eclipse编辑器,创建一个Test项目,好的,到这里我们的web项目转载 2020-06-15 19:04:34 · 438 阅读 · 0 评论 -
2020.6.2工作记录————gitlab添加用户收不到邮件
之前再gitlab服务器上创建账号可以正常收到邮件,最近就收不到,查了gitlab的配置以及postfix服务都没有问题,后来查看了发信25端口,发现该25端口并没有开启(postfix已经开启),提交工单到阿里云那边收到回复说是服务器统一关闭25端口。没有办法只能添加邮箱并设置更换465端口.我在这里使用个人的qq免费邮箱:1.开启qq邮箱的POP3/SMTP服务并保存好授权码2.修改gitlab的配置文件:/etc/gitlab/gitlab.rbgitlab_rails[‘smtp_enabl转载 2020-06-11 16:21:44 · 960 阅读 · 0 评论 -
2020.6.2工作记录————gitlab添加用户收不到邮件
之前再gitlab服务器上创建账号可以正常收到邮件,最近就收不到,查了gitlab的配置以及postfix服务都没有问题,后来查看了发信25端口,发现该25端口并没有开启(postfix已经开启),提交工单到阿里云那边收到回复说是服务器统一关闭25端口。没有办法只能添加邮箱并设置更换465端口.我在这里使用个人的qq免费邮箱:1.开启qq邮箱的POP3/SMTP服务并保存好授权码2.修改gitlab的配置文件:/etc/gitlab/gitlab.rbgitlab_rails[‘smtp_enabl转载 2020-07-27 10:01:57 · 528 阅读 · 0 评论 -
2019.12.3C++学习笔记——Linux系统C++链接动态库和操作数据库
近期工作要求操作数据库并转换Json格式计算Mac值,因为所给的接口库为so库,所以要在Linux系统下编写主程序。之前已经在工作中接触了Windows系统下的C++操作数据库、Json.cpp调用和链接动态库,这次在Linux下重新编译需要一些改动。Linux系统C++链接动态库在Linux系统中,如果没有安装带UI的编译工具软件的话就无法像在Windows下一样直接在项目属性页中添加依赖...原创 2019-12-04 19:20:23 · 447 阅读 · 0 评论 -
2019.9.10Linux学习笔记——抓包工具tcpdump试用
Linux学习笔记——抓包工具tcpdump试用最近工作中有新任务,需要在Linux环境下抓取指定服务端发来的数据包报头来分析其数据格式,所以开始尝试Linux系统自带的tcpdump抓包工具。tcpdump:tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具。tcpdump凭借强大的功能和灵活的截取策略,使其成为Linux系统下用于网络分析和问题排查的首选...原创 2019-09-11 17:06:52 · 379 阅读 · 0 评论 -
2019.9.11Linux学习笔记——Linux虚拟机联网
工作中需要使用Linux系统进行编程,所以选择使用VMware安装Linux虚拟机,选择安装的Linux虚拟机版本为CentOS 7 64位版本。联网步骤:安装完虚拟机之后,需要连接网络,主要步骤:1.还原虚拟网络编辑器:打开VMware,找到虚拟机CentOS 7 64,在上方点击编辑——>虚拟网络编辑器,等虚拟网络编辑器初始化完成弹出窗口后,点击右下角更改设置。等以管理员身份自...原创 2019-09-11 14:44:02 · 422 阅读 · 0 评论