linux
nicholas_dfx
南京--电子工程师、软件工程师、控制工程师,物联网,工控,工业互联,嵌入式
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
转载:想知道linux哪此进程造成磁盘IO高吗?iotop命令告诉你
转载 2018-07-08 10:09:48 · 4658 阅读 · 0 评论 -
linux下C++根据进程名字获取进程的进程号PID
#include <stdio.h>#include <sys/types.h>#include <dirent.h>#include <stdlib.h>#include <string.h> int find_pid_by_name( char* ProcName, int* foundpid){ DIR ...原创 2018-07-12 14:24:32 · 9269 阅读 · 1 评论 -
linux下C++根据pid关闭程序进程
#include<unistd.h>#include<signal.h>#include<sys/types.h>#include<sys/wait.h>main(){pid_t pid;int status;if(!(pid= fork())){printf(“Hi I am child process!\n”);sleep(10);return;...原创 2018-07-12 14:24:15 · 7935 阅读 · 0 评论 -
linux下C++ fork与全局变量
父子进程之间的变量是位于不同的地址空间的,子进程能继承父进程中的变量,但无论如何也修改也不会反映到父进程中,要想共享内存可以通过1.ipc中shmxxx2.mmap也就是说,fork中的子线程可以读取父线程的变量,但无法修改...原创 2018-07-12 14:24:00 · 6003 阅读 · 0 评论 -
Linux下C++的进程通信的八种方法
Linux下进程通信的八种方法:管道(pipe),命名管道(FIFO),内存映射(mapped memeory),消息队列(message queue),共享内存(shared memory),信号量(semaphore),信号(signal),套接字(Socket) (1) 管道(pipe):管道允许一个进程和另一个与它有共同祖先的进程之间进行通信; (2) 命名管道(FIFO):类...原创 2018-07-12 14:23:56 · 6107 阅读 · 0 评论 -
ubuntu任务管理器
ubuntu下的任务管理器打开方式:命令行输入‘gnome-system-monitor’即可,展示如下:原创 2018-07-12 14:23:50 · 6009 阅读 · 0 评论 -
Linux C++多线程编程时如何查看一个进程中的某个线程是否存活
使用pthread_kill函数检测一个线程是否还活着的程序,在linux环境下gcc编译通过,现将代码贴在下面:/******************************* pthread_kill.c *******************************/#include <stdio.h>#include <stdlib.h>#include <p...原创 2018-07-12 14:23:36 · 8841 阅读 · 0 评论 -
Ubuntu下Reading package lists... Error 解决方案
遇到该问题一般是Ubuntu安装源的问题,需要输入以下2个命令:1 sudo rm /var/lib/apt/lists/* -vf2 sudo apt-get update原创 2018-07-12 14:23:07 · 7019 阅读 · 1 评论 -
codeblocks编译时undefined reference to ""错误
可能的原因是:函数的声明和定义时,参数类型获取其他不符:原创 2018-07-12 14:23:00 · 6058 阅读 · 0 评论 -
linux某一进程占用socket句柄数量过多
使用Linux lsof命令查询,可以发现占用socket句柄数量太多,超过2048,导致工作不正常检查代码发现FTP相关代码有问题,操作结束后没有及时关闭句柄。修改代码,问题解决...原创 2018-07-12 14:22:45 · 8997 阅读 · 1 评论 -
centos中yum提示Another app is currently holding the yum lock
使用yum安装计划任务功能,结果提示:# yum -y install vixie-cronLoaded plugins: fastestmirror, refresh-packagekit, securityExisting lock /var/run/yum.pid: another copy is running as pid 25960.Another app is currently h...原创 2018-07-12 14:22:39 · 4528 阅读 · 0 评论 -
centos安装rz se命令
rz和se命令非常方便执行上传和下载,centos下可以直接用yum进行插件的安装:sudo yum install lrzsz -y原创 2018-07-11 08:03:22 · 5480 阅读 · 0 评论 -
Linux supervisor后台进程管理
sudo supervisorctlstatus: 查看当前运行的进程列表stop xxx: 停止某一个进程(xxx),xxx为[program:theprogramname]里配置的值。start xxx: 启动某个进程restart xxx: 重启某个进程stop groupworker: 重启所有属于名为groupworker这个分组的进程(start,restart同理)stop all,...原创 2018-07-13 21:20:58 · 4219 阅读 · 0 评论 -
转载:Linux 运维工程师入门的10个基本技能点
1、linux系统基础这个不用说了,是基础中的基础,连这个都不会就别干了。2、网络服务服务有很多种,每间公司都会用到不同的,但基础的服务肯定要掌握,如FTP, DNS,SAMBA, 邮件, 这几个大概学一下就行。LAMP和LNMP是必须要熟练,我所指的不是光会搭建,而是要很熟悉里面的相当配置才行,因为公司最关键的绝对是WEB服务器,所以nginx和apache要熟悉,特别是nginx一定要很熟悉才...转载 2018-07-15 11:18:19 · 4424 阅读 · 0 评论 -
树莓派Raspbian Root密码是多少以及怎样设置?
树莓派Raspbian系统密码是多少?树莓派Raspbian系统默认登录用户名为pi,该账户默认密码是raspberry(可在raspi-config中修改)。树莓派的Raspbian系统root用户默认是禁用状态,且没有密码,所以要先设置个密码,然后开启才能正常使用。使用pi账户进行登陆命令行,执行命令:【sudo passwd root】设置root用户密码,然后在执行【sudo pas...原创 2019-03-14 09:45:54 · 6214 阅读 · 0 评论 -
树莓派3安装docker
SD卡制作准备一张4GB或者以上的micro sd卡,下载系统镜像,例如raspbian-jessie-lite.img,并使用刷机工具,如Pi filler将其写入sd卡,当然也可以使用命令行的dd,或者其它工具,要注意的是sd卡必须是fat32格式的文件系统,不然树莓派是无法识别的。开机启动先把所有的线材都连上之后,最后再通电,应该很顺利能看到启动的系统。设置WIFIecho 'net...原创 2019-03-14 10:46:21 · 3795 阅读 · 0 评论 -
error: jump to label ‘xxxxx’ [-fpermissive] linux下C++编译错误
linux中C++中使用goto语句可以跳到指定的函数末端,在使用g++编译时,要注意在goto语句出现之后是不允许出现新申明的变量,所以需要申明变量需要放在所有goto语句之前。而windows的VisutalStudio编译无此问题...原创 2019-09-29 16:23:00 · 518 阅读 · 0 评论 -
linux中C++关闭线程
1. 执行完成后隐式退出2. 由线程本身显示调用pthread_exit 函数退出;pthread_exit (void * retval) 3. 被其他线程用pthread_cance函数终止:pthread_cance (pthread_t thread) 解决办法:4. // 创建线程前设置 PTHREAD_CREATE_DETACHED 属性pthread_attr_t attr;pthr...原创 2018-07-13 16:59:51 · 7295 阅读 · 0 评论 -
python使用mysql数据库
二,安装MySQL-python要想使python可以操作mysql 就需要MySQL-python驱动,它是python 操作mysql必不可少的模块。下载地址:https://pypi.python.org/pypi/MySQL-python/下载MySQL-python-1.2.5.zip 文件之后直接解压。进入MySQL-python-1.2.5目录:>>python setu...原创 2018-06-25 12:41:15 · 2176 阅读 · 0 评论 -
Linux exec函数
在Linux中要使用exec函数族。系统调用execve()对当前进程进行替换,替换者为一个指定的程序,其参数包括文件名(filename)、参数列表(argv)以及环境变量(envp)。exec函数族当然不止一个,但它们大致相同,在 Linux中,它们分别是:execl,execlp,execle,execv,execve和execvp,下面我只以execlp为例,其它函数究竟与execlp有何...原创 2018-07-13 16:59:55 · 5098 阅读 · 0 评论 -
如何在linux下安装pip
安装pip的方法:Install pip and virtualenv for Ubuntu 10.10 Maverick and newer$ sudo apt-get install python-pip python-dev build-essential$ sudo pip install --upgrade pip$ sudo pip install --upgrade ...原创 2018-07-09 09:01:08 · 5928 阅读 · 0 评论 -
linux线程传递参数
#include <stdio.h>#include <stdlib.h>#include <pthread.h>#include <unistd.h> #define NUM_THREADS 8 void *PrintHello(void *args){ int thread_arg; sleep(1); threa...原创 2018-07-09 15:01:27 · 6827 阅读 · 0 评论 -
linux下后台运行程序 nohup
在Linux中,如果要让进程在后台运行,一般情况下,我们在命令后面加上&即可,实际上,这样是将命令放入到一个作业队列中了:$ ./test.sh & [1] 17208 $ jobs -l [1]+ 17208 Running ./test.sh & 对于已经在前台执行的命令,也可以重新放到后台执行,首先按ctrl+z暂停已经运行的进程,然...原创 2018-07-09 15:04:31 · 5257 阅读 · 0 评论 -
Linux C++ 字符串 大小写转换
#include <cctype>#include <string>#include <algorithm>using namespace std;void ToUpperString(string &str){ transform(str.begin(), str.end(), str.begin(), (int (*)(int))toupper...原创 2018-07-09 15:05:34 · 5617 阅读 · 0 评论 -
linux下安装ping命令
apt-get install inetutils-ping原创 2018-07-09 15:07:13 · 17820 阅读 · 2 评论 -
codeblocks 动态库 so 头文件
需要用etern "C"封装需要外部调用接口,注意,不支持重载原创 2018-07-09 15:12:50 · 5597 阅读 · 0 评论 -
codeblocks添加已存在的Makefile和工程源码
1)“File -> New -> Project”,选择“Empty Project”或者“console application“并创建。2)选中 Project,右键,选择“Add files”,将 c/cpp 和 head files 加入工程。3)选中 Project,右键,选择“Properties”,“Project settings”选项卡中的“Makefile”填入M...原创 2018-07-10 08:35:40 · 6538 阅读 · 0 评论 -
codeblocks快捷键及代码折叠等设置
查找替换:Ctrl + RBuild(Ctrl + F9)Run (Ctrl + F10)Build + Run (F9)前进:ctrl E后退:ctrl D删除一行: CTRL L编译 ctrl F9Ctrl+Shift+C 注释代码块Ctrl+Shift+X 取消注释需要更大编辑空间时,F2和Shift+F2分别可以显隐下方Logs & others栏和左方的Management栏...原创 2018-07-10 08:35:34 · 8059 阅读 · 1 评论 -
Ubuntu和centos下Codeblocks 配置 mysql
Ubuntu下,使用了codeblocks,有各种编写代码的方便之处,但是遇到类似MySQL这样的文件,编译时需要附带链接库等,就很麻烦了,以下是搜到的可以顺利编译Mysql的解决方法: 进入 project ------> build options a. compiler settings tab -------> other options: 添加 `mysql...原创 2018-07-10 13:22:16 · 4522 阅读 · 0 评论 -
linux环境mysql的lmysqlclient找不到的解决办法
无意间在/usr/local/lib/mysql下发现了/usr/local/lib/mysql# lslibdbug.a libmyisam.a libmysqlclient.a libmysqlclient.so libmysqlclient.so.15.0.0 libmysys.alibheap.a libmyisammrg.a libmysqlclient.la...原创 2018-07-10 13:25:36 · 10426 阅读 · 0 评论 -
codeblocks添加sqlite编译选项
project ------> build options:原创 2018-07-10 13:28:11 · 5442 阅读 · 0 评论 -
codeblocks 多线程编程时出现:对pthread_create未定义的引用的解决方法
由于pthread库不是Linux系统默认的库,连接时需要使用库libpthread.a,所以在使用pthread_create创建线程时,在编译中要加-lpthread参数:gcc pthread.c -lpthread -o pthread下面是codeblocks的修改:设置>>编译器设置>>全局编译器设置>>链接器设置:左侧链接库加入:/usr/li...原创 2018-07-10 13:32:50 · 4958 阅读 · 1 评论 -
Codeblocks cannot find -lmsqlclient错误解决
添加相应的MySQL库及头文件路径,库的路径为 /usr/lib/x86_64-Linux-gnu/libmysqlclient.a:原创 2018-07-10 13:34:13 · 5276 阅读 · 0 评论 -
Linux下C++获取文件的大小和最近修改时间
Linux下获取文件的大小(byte)和最近修改时间(时间是指从公元1970年1月1日0时0分0 秒算起至今的UTC时间所经过的秒数)#include<stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>int main(){ FILE * fp; i...原创 2018-07-10 13:39:30 · 9745 阅读 · 3 评论 -
Linux C 读取文件夹下所有文件(包括子文件夹)的文件名
下面程序,递归读取某文件夹及其子文件夹下所有文件名:#include <stdio.h>#include <stdlib.h>#include <string.h>#include <dirent.h>#include <unistd.h>int readFileList(char *basePath){ DIR *dir; ...原创 2018-07-10 13:40:34 · 5392 阅读 · 0 评论 -
linux下C++移动文件和文件夹 复制文件
功能: 给一个文件重命名用 法: int rename(char *oldname, char *newname);头文件:#include <stdio.h>说明:用该函数可以实现文件移动功能,把一个文件的完整路径的盘符改一下就实现了这个文件的移动。具体参见下面的程序示例说明。#include <stdio.h>int rename(const char *oldpath...原创 2018-07-10 13:42:09 · 17300 阅读 · 3 评论 -
linux编译C++报错:error while loading shared libraries; 错误解决办法总结
原因一般有两个, 一个是操作系统里确实没有包含该共享库(lib*.so.*文件)或者共享库版本不对, 遇到这种情况那就去网上下载并安装上即可.另外一个原因就是已经安装了该共享库, 但执行需要调用该共享库的程序的时候, 程序按照默认共享库路径找不到该共享库文件.所以安装共享库后要注意共享库路径设置问题, 如下:1) 如果共享库文件安装到了/lib或/usr/lib目录下(默认安装路径...原创 2019-09-29 16:26:35 · 1611 阅读 · 0 评论
分享