Linux - 军军小站|张军博客
Linux

Linux 多线程应用中如何编写安全的信号处理函数

在开发多线程应用时,开发人员一般都会考虑线程安全,会使用pthread_mutex去保护全局变量。如果应用中使用了信号,而且信号的产生不是因为程序运行出错,而是程序逻辑需要,譬如SIGUSR1、SIGRTMIN等,信号在被处理后应用程序还将正常运行。在编写这类信号处理函数时,应用层面的开发人员却往往忽略了信号处理函数执行的上下文背景,没有考虑编写安全的信号处理函数的一些规则。本文首先介绍编写信号处理函数时需要考虑的一些规则;然后举例说明在多线程应用中如何构

系统 2019-08-29 22:23:03 2227

Linux

linux中的"32位"与"64位"

linux内核学习之三:linux中的"32位"与"64位"在通用PC领域,不论是windows还是linux界,我们都会经常听到"32位"与"64位"的说法,类似的还有"x86"与"x86_64","i386"与"amd64",这两组概念之间有着怎样的联系和区别的?实际上这两组概念涉及了三个层次:硬件,系统和软件。1硬件早期的intel处理器,如i386,486,586,奔腾系列的CPU架构,都是32位的(32位的寄存器,32位的虚拟地址空间),统称为x

系统 2019-08-12 01:33:55 2227

Linux

Linux下jvm、tomcat、mysql、log4j优化配置

小菜一直对操作系统心存畏惧,以前也很少接触,这次创业购买了Linux云主机,由于木有人帮忙,只能自己动手优化服务器了。。。。小菜的云主机配置大致为:centeos6(32位),4核心cpu,4G内存,5M独享带宽。一、jvm内存优化方案。要优化服务器,首先从jvm入手,分配好jvm内存,配置方案如下:declare-xJAVA_OPTS="-server-Xms1280M-Xmx1280M-Xmn512M-Xss1024k-XX:+AggressiveOp

系统 2019-08-12 01:32:55 2227

Linux

linux命令之删除

linux删除文件夹非常easy,非常多人还是习惯用rmdir,只是一旦文件夹非空,就陷入深深的苦恼之中,如今使用rm-rf命令就可以。直接rm就能够了,只是要加两个參数-rf即:rm-rf文件夹名字-r就是向下递归,无论有多少级文件夹,一并删除-f就是直接强行删除,不作不论什么提示的意思步骤/方法1、删除目录实例:rm-rf/var/log/httpd/access将会删除/var/log/httpd/access文件夹以及其下全部文件、文件夹2、删除文

系统 2019-08-12 01:32:54 2227

Linux

理解Linux 配置文件

介绍每个Linux程序都是一个可执行文件,它含有操作码列表,CPU将执行这些操作码来完成特定的操作。例如,ls命令是由/bin/ls文件提供的,该文件含有机器指令的列表,在屏幕上显示当前目录中文件的列表时需要使用这些机器指令。几乎每个程序的行为都可以通过修改其配置文件来按照您的偏好或需要去定制。Linux中有没有一个标准的配置文件格式?一句话,没有。不熟悉Linux的用户(一定)会感到沮丧,因为每个配置文件看起来都象是一个要迎接的新挑战。在Linux中,每

系统 2019-08-12 01:33:32 2226

Linux

linux内核数据包转发流程(三)网卡帧接收分析

【版权声明:转载请保留出处:blog.csdn.net/gentleliu。邮箱:shallnew*163.com】每一个cpu都有队列来处理接收到的帧,都有其数据结构来处理入口和出口流量,因此,不同cpu之间没有必要使用上锁机制,。此队列数据结构为softnet_data(定义在include/linux/netdevice.h中):/**Incomingpacketsareplacedonper-cpuqueuessothat*nolockingisn

系统 2019-08-12 01:33:29 2226

Linux

Linux常用命令小结

1.磁盘使用情况du-h查看当前用户每个文件的大小,格式化显示du-h--max-depth=1当前各个目录下的总大小du-sh查看总的大小df-h磁盘使用情况iostat-xm3磁盘的读写情况2.VI常用命令esc切换文件读写状态,I键插入,O键追加:q!强制退出:wq保存后退出:x保存后退出G到文件尾部1G到文件首或者gg0行首$行尾ctrl+f向文件尾翻一页ctrl+b向文件首翻一页/patten从光标开始处,向文件尾搜索patten?patten从

系统 2019-08-12 01:33:26 2226

Linux

Linux FIFO

head.h:1/*head*/2#include3#include4#include5#include6#include7#include8#include9#include1011#defineSERVER_FIFO"/tmp/server_fifo"12#defineLOGIN013#d

系统 2019-08-12 01:32:28 2226

Linux

Linux 宿主机安装 MiniGUI

去MiniGUI官方网站看的时候,很兴奋,安装竟然这么容易。上帝总是在给你一个苹果之后,赏你一巴掌。我的确是高兴太早了。首先看一下官网文档的说明步骤:(截取于官方文档)InstallingresourcefilesofMiniGUIWemustinstallresourcefilesofMiniGUIfirst.Pleasefollowthestepsbelowtodoit:1)Use`tar'toextractminigui-res-be-3.0.12.

系统 2019-08-12 01:33:52 2225

Linux

linux查看磁盘空间的指令方法

一、df命令;df是来自于coreutils软件包,系统安装时,就自带的;我们通过这个命令可以查看磁盘的使用情况以及文件系统被挂载的位置;举例:[root@localhostbeinan]#df-lhFilesystem容量已用可用已用%挂载点/dev/hda811G6.0G4.4G58%//dev/shm236M0236M0%/dev/shm/dev/sda156G22G35G39%/mnt/sda1我们从中可以看到,系统安装在/dev/hda8;还有一

系统 2019-08-12 01:32:32 2225

Linux

Step one : 熟悉Unix/Linux Shell 常见命令行 (

4.了解/etc目录下的各种配置文章,学会查看/var/log下的系统日志,以及/proc下的系统运行信息了解/etc目录下的各种配置文章/etc/hosts主机配置文件/etc/networks路由表功能/etc/passwd用户配置文件/etc/exports系统自动挂载盘配置文件/etc/fstab系统自动挂载盘配置文件/etc/group用户组文件其他用处不是很大查看/var/log下的系统日志1)/var/log/secure:记录登录系统存取数

系统 2019-08-12 01:32:21 2225

Linux

linux配置定时任务方法

相关知识:cron服务相关命令:/sbin/servicecrondstart//启动服务/sbin/servicecrondstop//关闭服务/sbin/servicecrondrestart//重启服务/sbin/servicecrondreload//重新载入配置以上是cron服务启动的相关命令,如没有启动的话可进行手动启动。当然,更好的方法是将它设为随机自动启用,只需在/etc/rc.d/rc.local这个脚本的末尾加上:/sbin/servi

系统 2019-08-12 09:30:23 2224

Linux

linux 上装tomcat

一:安装jdk下载将jdk加压后放到/usr/local目录下:[root@master~]#chmod755jdk-6u5-linux-x64.bin[root@master~]#./jdk-6u5-linux-x64.bin[root@master~]#mvjdk1.6.0_05/usr/local建立/usr/local/下的jdk软连接方便以后版本升级:[root@master~]#ln-s/usr/local/jdk1.6.0_05//usr/l

系统 2019-08-12 01:33:39 2224

Linux

Linux下Nginx+tomcat整合安装与配置

相关程序:Nginx:http://nginx.org/en/download.htmltomcat:http://tomcat.apache.org/download-70.cgi#7.0.27JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1637583.htmlPCRE:ftp://ftp.csx.cam.ac.uk/pub/software/pro

系统 2019-08-12 01:33:11 2224

Linux

Linux 网络编程实例

1/*socket->bind->listen->accept->recv/recvfrom->send/sendto->close23客户端:socket->connect->send/sendto->recv/recvfrom->close45其中服务器端首先建立起socket,然后调用本地端口的绑定,接着就开始与客服端建立联系,并接收客户端发送的消息。6客户端则在建立socket之后调用connect函数来建立连接。78服务器端的源代码如下所示:*/

系统 2019-08-12 01:32:54 2224