- 博客(27)
- 资源 (7)
- 问答 (1)
- 收藏
- 关注
原创 简单内容整理
进程间同步方式使用信号量sem来实现,信号量是一个计数器两个独立进程使用相同信号量是根据信号量创建时候的key值决定的,信号量sem_pos进行点灯操作,信号量的值加1;信号量sem_wait进行灭灯操作,信号量的值减一,如果等待的时候信号量的值为0或者小于0,线程或者进程阻塞等待信号量大于0;sem_init初始化信号量,semget创建一个信号量,semctl删除信号量.条件变量与互斥锁的一起使用,常用的业务场景比如生产者消费者模式,或者线程池中使用条件变量与互斥锁配合,当任务队列有任务时通过
2023-08-03 10:36:47
156
1
原创 常见面试题整理一操作系统
常见面试题一操作系统篇什么是操作系统什么是系统调用进程与线程的区别进程有哪几种状态进程间的通信方式线程间的同步方式进程的调度算法操作系统的内存管理主要做什么常见的几种内存管理机制快表和多级页表分页机制和分段机制的共同点和区别逻辑(虚拟)地址和物理地址CPU寻址了解吗?为什么需要虚拟地址空间?什么是虚拟内存局部性原理虚拟存储器虚拟内存技术实现页面置换算法CPU的上下文切换、中断处理与系统调度磁盘文件系统、虚拟文件系统和文件缓存死锁的危害、出现原因、解决方法内存溢出、内存泄漏的原因以及解决方法内存问题,性能优化
2021-09-08 09:53:13
714
2
原创 二叉树知识小结
二叉树知识总结树的基本概念树的定义树的结构特点树的一些专业术语二叉树的基本概念二叉树的定义逻辑结构基本特征二叉树的性质满二叉树完全二叉树二叉树的遍历先序遍历中序遍历后序遍历树的基本概念树的定义由一个或多个节点(n≥0)组成的集合T,有且只有一个根节点(root),当n>1时,其余的节点分为m(m≥0)个互不相交的有限集合T1.T2…Tm。每个集合本身又是课树,被称作这个根的子树。树的结构特点非线性结构,有一个直接前驱但可能有多个直接后继(1:n)。树的定义具有递归行,树中还有树。树可以
2021-09-07 09:55:32
304
原创 Linux下好用的CPU工具
Cpulimit是一个工具,用于限制进程的CPU使用率(以百分比表示,而不是以CPU时间表示)。目的是防止进程运行超过指定的时间比率。它不会更改nice值或其他调度优先级设置,但会更改实际的CPU使用率。而且,它能够动态,快速地适应整个系统的负载。通过将SIGSTOP和SIGCONT POSIX信号发送到进程来完成对已用CPU数量的控制。指定进程的所有子进程和线程将共享相同百分比的CPU。下载地...
2020-05-03 09:59:00
405
原创 Linux 安装xrdp 实现远程连接
安装xrdp之前需要先安装NeutrinoRDPbuild NeutrinoRDP clientgit clone https://github.com/neutrinolabs/NeutrinoRDP.gitcd NeutrinoRDPcmake -DCMAKE_BUILD_TYPE=Debug -DWITH_SSE2=ON (执行可能报错,如果报错执行cmake -DWITH_F...
2018-08-16 10:04:56
2944
原创 使用mycat实现读写分离
centos6.5系统 主服务器:192.168.1.84 从服务器:192.168.1.83 一主一从模式 实现读写分离之前需要先进行mysql主从配置,参考msyql主从配置 因为mycat不负责同步数据问题 修改mycat配置文件schema.xml为:<?xml version="1.0"?><!DOCTYPE mycat:schema SYSTEM...
2018-02-28 13:16:26
357
原创 linux下mysql主从配置
centos6.5 192.168.1.84 主机 centos6.5 192.168.1.83 从属 一、主服务器配置: 创建同步用户并指定服务器地址[root@node04 ~]# mysql -u root -p111111mysql>use mysql;mysql>grant replication slave on *.* to 'tongbu'@'192....
2018-02-27 17:49:39
654
原创 python 中 subprocess 模块
使用到了subprocess解析shell命令# coding = utf-8import osimport sysimport subprocessdef execute(args, stdin=NOne, stdout=None, stderr=None, shell=True): if not stdin: stdin = subprocess.PI...
2018-02-09 20:00:37
360
原创 centos6.5系统升级glibc时出错导致不管输入什么命令都是 Segmentation fault 解决
因为升级glibc-2.18结果导致系统出现错误不管输入什么命令都是段错误:[root@node04 ~]# lsSegmentation fault[root@node04 ~]# vimSegmentation fault出现这种情况如果是虚拟机没有重要的东西可以直接重装 解决办法: 挂载光盘,设置从光盘启动(系统开机后按F2进入): 选择完从光
2018-01-11 11:57:28
7054
原创 centos6.5 安装tensorflow常见问题
在安装tensorflow之前需要先安装Google 开源的编译器 bazel版本必须是0.5.4或者更高版本。 在使用脚本bazel-0.5.4-installer-linux-x86_64.sh进行安装之前需要配置好环境,需要jdk-1.8及以上python2.7编译器必须支持c++11所以必须将centos6.5系统自带的gcc版本进行升级gcc-4.8.2.tar.bz2 执行:
2018-01-08 17:32:48
1123
原创 Centos6.5安装python keras过程以及遇到的问题
Centos6.5自带的python版本为python6.6使用yum 安装最新的也是python6.6 因为keras需要python版本在2.7-3.5之间所以需要编译源码1.安装python之前需要安装相应的包 先检查是否安装了gcc否则在./configure时会报错,安装python的依赖包:yum install zlib-devel bzip2-devel openssl-d
2017-12-26 11:41:17
668
原创 C语言连接oracle实例
使用C语言连接oracle数据库通过proc编程连接test.pc实现的功能是在emp表中查找数据,通过用户输入emp_id,得到对应的emp_name。 test.pc文件内容如下:#include <stdio.h>#include <string.h>#include <stdlib.h>EXEC SQL INCLUDE SQLCA;int main(){ EXEC S
2017-10-19 16:08:21
6646
原创 使用oracle创建用户
创建用户一般分四步: 第一步:创建临时表空间 第二步:创建数据表空间 第三步:创建用户并制定表空间 第四步:给用户授予权限 1、创建临时表空间:create temporary tablespace data tempfile '/usr/oracle/oradata/data.dbf' size 50m autoextend on next 50m m
2017-10-19 11:32:30
557
原创 安装完oracle后从root用户切换执行命令“sqlplus / as sysdba”失败
安装完oracle后从root用户切换到oracle用户执行命令“sqlplus / as sysdba”失败:相应的环境变量也配置完成,执行 echo $ORACLE_HOME为空,说明环境变量未加载,在从root用户切换到oracle用户时 使用 :su - 用户名 或者 su -l 用户名 切换时环境变量也会切换
2017-10-19 09:18:31
2634
原创 使用PROC编译.pc文件成.c后遇到的问题
使用 gcc test.c -lclntsh 编译 报错:/usr/bin/ld: cannot find -lclntshcollect2: ld 返回 1使用 gcc test.c -L $ORACLE_HOME/lib -lclntsh 编译成功生成a.out文件因为在配置.bash_profile时已经配置好了环境,所以直接执行 gcc test.c -lclntsh 报错
2017-10-18 17:50:13
1796
原创 使用PROC编译.pc文件时错误情况及处理
使用PROC编译test.pc时没有生成.c文件出现如下情况:Pro*C/C++: Release 11.2.0.1.0 - Production on Fri Jun 23 20:46:54 2017Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.System defau
2017-10-18 17:14:48
17341
原创 centos安装orcal数据库时 [FATAL] [INS-13013] 解决
安装orcal数据库时出现[FATAL] [INS-13013]错误,官网给出的回答是查看日志,从安装文档中找到合适的配置手动修复。看log日志太多的警告与配置有关,所以在执行安装的时候在 命令最后添加了 -ignorePrereq,可以跳过这条错误
2017-10-16 16:58:33
4869
原创 RPM文件安装时最后加上 --nodeps --force参数是什么意思
--nodeps rpm在安装包时,不检查依赖关系,例如安装B,B依赖C导致无法安装,使用--nodeps就可以安装成功--force 强制安装
2017-10-16 16:48:21
6985
原创 python 使用ssh远程登录并执行命令返回结果
import osimport sysimport pexpectdef remote_ssh(remote_ip, user, passwd, cmd): ret = -1 ssh = pexpect.spawn('ssh %s@%s "%s"' % (user, remote_ip, cmd)) try: i = ssh.expect(['passw
2017-09-13 16:15:41
11948
原创 python中log日志的使用
python使用logging模块import loggingimport logging.handlersdef getLog(): logger = logging.getLogger("mylogger") logger.setLevel("DEBUG") logName = "test.log" fh = logging.FileHandler(logNam
2017-09-08 15:51:45
13668
原创 Linux下使用parted创建分区
一、常用两种分区方式MBR分区表(即主引导记录)所支持的最大分区:2T,而且对分区有限制:最多4个主分区或3个主分区加一个扩展分区GPT分区表(即GUID分区表)是源自EFI标准的一种较新的磁盘分区表结构的标准,与MBR分区方式相比,具有如下优点:突破MBR 4个主分区限制,每个磁盘最多支持128个分区。支持大于2T的分区,最大可达18E
2017-09-05 09:45:01
992
原创 python输入整条数据分割存入数组
通过手动输入数据,将数据分成几部分存入数组中import osimport sysdef test(): brick = raw_input("input:") brick = brick.split(",") print bricktest()输入的数据是用逗号分割开的,所以直接使用"split(",")"拆分
2017-08-31 16:31:52
5654
原创 段错误查找
在Linux中查找段错误位置通过命令 ulimit -c unlimited 生成core文件通过 gdb ./a.out core 得到段错误的位置
2017-08-30 14:58:50
381
原创 使用zmq多次通信
使用zmq通信,client发送消息到server1,server1接收到消息后发送给server2client.c#include #include #include #include int main (){ void *context = zmq_init (1); printf ("Connecting to hello world se
2017-08-29 15:48:29
805
原创 二叉查找树(BST)
从配置文件中读取数据,利用结构体接收数据,并将数据挂载到二叉树上,进行快速遍历查找代码如下: test.h:#ifndef _TEST_H#define _TEST_Hstruct process_list { char *p_pool; char *p_name; char *p_ip; struct pr
2017-08-18 11:30:00
344
tensorflow
2018-01-08
dpdk rte_eth_rx_burst 读取不到网卡数据
2024-08-31
求助大神python中mysql api
2017-09-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人