系统相关

生产者-消费者问题(进程同步问题)

03-18
最近在学线程,在加上操作系统也在学线程,于是乎有了这篇文章 问题描述: 一群生产者进程在生成产品,并将这些产品提供给消费者进程去消费. 他们之间有一个公共的缓冲区用来存放产品,当产品为空时消费者不能消费,当产品为满时生产者不能生产 CPP实现 利用mutex 互斥量 来对缓存区的操作进行加锁 #include<iostream> #include<mutex> #include<chrono> #include<thread> using namespace

关于MacOS降系统版本的处理方法

03-18
使用了最新的MacOS之后发现Xcode不能用了爆了好多的错误,我用了“爆了”这个词,可见我内心的爆炸.. 网上说的那些降版本好像都不行,我这里总结下吧... 在说讲系统版本之前,我先说说我到底经历了什么我才回折腾降系统版本的这个处理办法..(急需要看降系统版本的可直接跳过). 首先说说我在这之前的调试环境: Mac OS : 10.14.3 Mac OS Mojave Xcode : 10.1 iPad : mini 2 要知道,这两个版本不是我选择的,而是被选择的,所以我有点小情绪..关键是

linux的gpasswd的选项例子

03-18
gpasswd命令---gpasswd [选项] 组名 选项 功能 例子 -a 即--add,在组中添加一个用户 gpasswd g1 -a tom 或gpasswd -a tom g1 -d 即--delete,从组中删除一个用户 gpasswd g1 -d tom -r 即--remove-password,删除组管理的密码 gpasswd -r g1 -R 即--restrict,restrict access to GROUP to its members -M 即--members,重

eclipse与IDEA快捷键

03-18
===================IDEA=================== 自动生成变量名:Ctrl + Alt + v ===================eclipse=================== 自动生成变量名:Ctrl + 2,L 原文地址:https://www.cnblogs.com/lyftest/p/10560261.html

VMware Workstation中安装Centos7.6.18

03-18
准备文件:Centos7.6.18https://mirrors.aliyun.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-Everything-1810.iso注明:电脑已经安装号VMware Workstation本次演示VMware版本为: 1.:创建虚拟机 2.点击下一步 3.点击下一步4.选择好Centos7的镜像文件后选择下一步5.选择下一步6.这里是配置虚拟机的处理器数量和每个处理器的内核数量.点击下一步7.设置虚拟机的运行内存8

Linux IO和管道练习题

03-18
把/etc/fstab?件内容重定向到/tmp?录下?件名为fstab.out cat /etc/fstab > /tmp/fstab.out 把hello world追加到/tmp/fstab.out?件尾部 echo "hello world" >>/tmp/fstab.out 禁?覆盖重定向和强制重定向 set -C echo "hello magedu" >/tmp/fstab.out -bash: /tmp/fstab.out: c

Linux命令(十)gcc

03-18
1. gcc -E 预处理 头文件展开 宏替换 2. gcc -S : 生成汇编指令 3. 原文地址:https://www.cnblogs.com/douzujun/p/10555990.html

用shell脚本实现企业日常巡检

03-18
#!/bin/bash function system(){echo "##########系统信息##########"OS_TYPE=unameOS_VER=cat /etc/redhat-releaseOS_KER=uname -a|awk '{print $3}'OSTIME=`date +%F%T<br/>OS_RUN_TIME=uptime |awk '{print $3}'|awk -F, '{print $1}'<br/>OS_LAST_REBO

用shell脚本实现防DOS***-网络连接法

03-18
#!/bin/bashnetstat -antup|grep SYN_RECV|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c>/opt/tmpexec</opt/tmpwhile read linedocount=echo $line|awk '{print $1}'ip=echo $line |awk '{print $2}'if [ $count -gt 128 ]then iptables -I INPUT -s $ip -j DR

linux7 安装SVN

03-18
1.安装Linux虚拟机-- 安装后配置a.停止防火墙# systemctl stop firewalld.service# systemctl disable firewalld.service# systemctl status firewalld.service b.停止SElinux--临时关闭#setenforce 0--永久关闭修改/etc/selinux/config 文件将SELINUX=enforcing改为SELINUX=disabled重启机器即可 2.修改Linux服务器

linux18.04+jdk11.0.2+hadoop3.1.2部署伪分布式

03-18
下载 安装hadoop3.1.2http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-3.1.2/hadoop-3.1.2.tar.gz 注意:hadoop3.x的配置文件$HADOOP_HOME/etc/hadoop 伪分布式需要修改5个配置文件 3.1配置hadoop 第一个:hadoop-env.sh vim hadoop-env.sh #第27行 export JAVA_HOME=/usr/java/jdk-11.0.2 第二个:cor

Linux篇 | 文本处理工具和正则表达式 (一)

03-18
文本处理工具和正则表达式 如果用一句话形容Linux系统,我想就是"一切皆文件"在适合不过了.系统的服务.软件.日志.命令的输出结果都是基于文本的,所以我们很有必要知道Linux的常用的文本处理工具有哪些?而且,我们用的这些处理文本工具都离不开一个技术:"正则表达式",它不止适用于Linux,对于一些语言,如Java.Python都能用,甚至Windows系统里也能用正则表达式.那么,如何灵活的运用正则表达式就是这篇博客的意义. 一.文本处理工具 1.抽取文本的工具

Linux中/目录扩容

03-18
1:原来的系统20G,目前增加到30G,我要把增加的10G扩容到/目录下   2:fdisk /dev/sda     (对sda这块磁盘没有被使用的空间进行分区,联想Windows操作系统) 使用Linux的fdisk分区工具给磁盘/dev/sda分区,更可以根据提示输入m查看帮助信息,再输入n(表示增加分区), 回车后输入p(创建主分区),回车后partition number输入3(因为上面已经有两个分区sda1和sda2), 回车会提示输入分区的start值(通过fdisk -l 可以看

进程和子进程及端口的常用命令

03-18
查看机器端口占用情况: netstat -ano 查看8080端口号是否已经被占用:netstat -ano|findstr "8080" 列出所有端口:netstat -a 列出所有 tcp 端口:netstat -at 列出所有 udp 端口:netstat -au 显示所有端口的统计信息:netstat -s 杀死这个进程:tasklist|findstr 2472;taskkill /pid 2472 -t -f; 例: 查看默认5037端口是否被占用,Window PC可以n

Ubuntu下安装 Remarkable

03-18
remarkable I can’t express the excitement of the heart. The Remarkable is best markdown editor in Linux Ubuntu. Install deb of files on Linux Ubuntu Follow the steps given below Ctrl + alt + t The command is open the terminal 打开终端 sudo dpkg -i(FileNa

Installing MIB in Ubuntu and Solving the Error “SNMP Cannot Find Module …”

03-18
Has noticed an error after executing the command snmpwalk with the indication of MIB instead of OID: 1 2 snmpwalk -v 2c -c public 192.168.0.1 ifIndex ifIndex: Unknown Object Identifier (Sub-id not found: (top) -> ifIndex) And: 1 2 3 4 5 6 7 8 9 10 11

shell script执行的几种方式

03-17
编写一个shell脚本test.sh,内容如下 a='测试执行方式' echo $a 方式1 使用路径的方式执行 chmod a+x test.sh ./test.sh 执行结果如下 当脚本执行之后,再执行echo $a的时候,不会得到测试执行方式这个值.因为在运行脚本的时候,是开了一个shell的子进程,脚本执行结束之后,这个子进程也结束了.再回到父进程执行echo $a是得不到任何值的. 方式2 使用sh test.sh执行脚本 执行结果如下: 此种执行方式同方式1 方式3 使用source

Linux下的进程江湖

03-17
有人的地方,就有江湖Linux进程也不例外 有进程的地方,也有江湖 那些年,奢望金盆洗手的江湖大佬们 按照武侠小说的套路:一个高手一旦决定金盆洗手.隐退江湖,下场往往会很惨,甚至引发整个武林动荡.比如衡山派的刘正风,早已厌倦了江湖,打算去当一个音乐家,于是整了个金盆洗手大会,结果被嵩山派搞得家破人亡.再比如飞虎镖局老板吕腾空,在金盆洗手大会现场,又稀里糊涂地接了一个大单,天魔琴重现江湖,再次把江湖整得血雨腥风.人在江湖漂,哪能不挨刀,出来混,总是要还的.吃干了,抹净了,想做甩手掌柜脱身很难,正所

Linux安装配置go运行环境

03-17
1. 下载go,解压 gz包 wget https://storage.googleapis.com/golang/go1.7.5.linux-amd64.tar.gz tar zxvf go1.7.5.linux-amd64.tar.gz mkdir gopath cd gopath 2. 配置环境变量 vi /etc/profile 最后添加 #根目录 export GOROOT=/usr/soft/go #bin目录 export GOBIN=$GOROOT/bin #工作目录 expor

Linux fork的头次使用

03-17
1.需要循环创建50个进程作为某种客户端连接服务器进行操作,由于fork理解不够深,如下操作#include<stdlib.h>#include<string.h>#include <unistd.h>#include <stdio.h> int num1 = 0;int num2 = 0;int add(int pid){int i = 0;for(i=0; i<10; i++){printf("My Process id is=%d, s