在 Linux 下经常需要杀死(重启)监听某端口的进程, 因此就写了一个小脚本, 通过 ss 命令获取监听制定端口的进程 PID, 然后通过 kill 命令结束掉进程: #!/bin/sh # set -x [[ $# -lt 1 ]] { echo param error: must have one param(port); exit -1; } [[ $# -gt...
下载并安装netcat yum install -y nc 开启监听10001端口 nc -l 10001,必须先开启监听,再向端口发送消息,否则会有如下报错 sentMessageToPort.sh: connect: Connection refused sentMessageToPort.sh: line 12: /dev/tcp/hadoop03/10001: Connection refuse...
#!/bin/bash /etc/init.d/mysqld status /dev/null if [ $? -eq 0 ] then echo mysql is running else echo 警告:mysqld服务不可用 echo 重启mysql服务:$(/etc/init.d/mysqld restart /dev/null) echo mysql服务是否已经运行:$(ps -ef | grep mysqld) fi...
#!/bin/bash name=3:启用 service1=$(echo `chkconfig --list auditd`|sed s:\s:/:g|cut -d / -f 5) service2=$(echo `chkconfig --list autofs`|sed s:\s:/:g|cut -d / -f 5) if [ $name == $service1 ];then chkconfig --level 345 auditd off fi if [ $na...
来学习一下多次执行同一条命令的不同类型的循环。 awk 脚本有三个主要部分:BEGIN 和 END 函数(都可选),用户自己写的每次要执行的函数。某种程度上,awk 的主体部分就是一个循环,因为函数中的命令对每一条记录都会执行一次。然而,有时你希望对于一条记录...
适用于linux 3.14及以后 --------------------------------------------------------------------------------------------------- /usr/include目录下包含了linux环境编程时可以使用的所有头文件,这些头文件大致可以分为以下几类: [1]. linux内核支持的AP...
1. 面向IP层的原始套接字编程 ----------------------------------------------------------------------------------------------------------------------------- socket(AF_INET,SOCK_RAW,protocol) [1]. protocol字段定义在netinet/in.h中,常见的由IPPR...
上一节说到proc文件系统,这是用户态和内核态通信的一种方法,本节将要说到另外一种通信的方法,该方法相比于其他的内核和用户通信有时在于: Netlink相对于其他的通信机制具有以下优点: 1.使用Netlink通过自定义一种新的协议并加入协议族即可通过socket AP...
1. 主机字节序、网络字节序 --------------------------------------------------------------------------------------------------- 主机字节序通常采用little-endian,低字节放低地址,高字节放高地址 网络字节序采用big-endian,低字节放高地址,高字节...
----------------------------------------------------------------------------------------------------------------------- stat结构包含了一个文件有关的所有信息 struct stat { mode_t st_mode; // 文件类型 | set-user-ID/set-group-ID | 访问权限 ui...
1. int fcntl(int fd,int cmd) / int fcntl(int fd,int cmd,long arg) / int fcntl(int fd,int cmd,struct flock *lock) fcntl函数有以上3中调用格式,和open一样,都是用可变参数实现的,可变参数的类型和格式取决于前面的cmd参数 fcntl函数可以改变一个已...
1 . 编辑: /etc/rc. local 添加想要被执行的命令即可(默认是以root用户执行)。 注: 有些很特殊的情况 /etc/rc.local 不会被执行,可以 编辑 /etc/init.d/rc.local 2 . 以期望的用户执行命令: su -c ls -l myfile.txt guowei 解释: 其中需要被执行的命...
本文导航 -什么是开源软件?05% -开源软件和其它类型的软件有什么不同?09% -开源软件只是对开发者很重要?29% -为什么人们更倾向于使用开源软件?47% -开源不是只是意味着某样东西是免费的吗?65% -什么是在软件之外的开源? 开源 open source 这个词,指的...
D 语言的模块化、开发效率、可读性以及其它一些特性使其非常适合用于协同软件的开发。 D 编程语言是一种静态类型的通用编程语言,它具有和 C 语言类似的语法,能够编译为本地代码。许多理由使得它很适合用于开源软件开发,下面讲到的是其中一些理由。 模块化...
Shell 脚本编程是你在 Linux 下学习或练习编程的最简单的方式。尤其对系统管理员要处理着自动化任务,且要开发新的简单的实用程序或工具等(这里只是仅举几例)更是必备技能。 本文中,我们将分享 10 个写出高效可靠的 bash 脚本的实用技巧,它们包括: 1、...
*************************************************************************************************************************** 作者:EasyWave 时间:2012.02.12 类别:Linux驱动开发 声明:转载,请保留链接 ****************************************...
+++++++++++++++++++++++++ Linux TCP/UDP通信中的结构体 +++++++++++++++++++++++++++++++++++++++ struct udphdr { u_int16_t source; u_int16_t dest; u_int16_t len; u_int16_t check; }; struct iphdr { #if __BYTE_ORDER == __LITTLE_ENDIAN unsigned i...
Linux中ifreq 结构体分析和使用 及其在项目中的简单应用 [基础知识说明] 结构原型: /* * Interface request structure used for socket * ioctls. All interface ioctls must have parameter * definitions which begin with ifr_name. The * remainder may...
结构原型: /* * Interface request structure used for socket * ioctls. All interface ioctls must have parameter * definitions which begin with ifr_name. The * remainder may be interface specific. */ struct ifreq { #define IFHWADDRLEN 6 union...
我这里说的ioctl函数是指驱动程序里的,因为我不知道还有没有别的场合用到了它,所以就规定了我们讨论的范围。写这篇文章是因为我前一阵子被ioctl给搞混了,这几天才弄明白它,于是在这里清理一下头脑。 一、 什么是ioctl ioctl是设备驱动程序中对设备的I/O通...
程序员世界对这个名字发自内心的恐惧和敬畏。我们都知道在我们的软件中应该 支持 Unicode(无论是什么意思对所有的字符串使用 wchar_t ,是吗?)。但 Unicode 很深奥,它有上千页的Unicode 标准,还有几十页的补充附录、报告和注解,简直太吓人了。即使 Uni...
正如一个作家需要一个文字处理器来写故事,一个艺术家需要画布来创作,同样的,如果想编程,你会需要一个地方来写代码。 程序员在哪里编写代码?最常见的就是使用文本编辑器了吧。 下文列出了7个主流的文本编辑器,不出意外的话,开发人员应该都有所了解,至...
在我们 最后一篇博客 中,我们认为 Swift 将成为最流行的移动应用开发趋势之一,这将会在 2017 年得到验证,这是必须的!如果你对 iOS 世界保持时刻关注,你一定知道 Swift 在 2016 年 12 月份在慢慢地平滑地替代 Objective-C 的地位。 然而,很多人还没意识...
选择正确的编程语言进行学习无疑成为左右个人发展投资成功与否的关键。在今天的编程语言推荐榜中,我们参考了大量可靠且信誉卓著的消息来源。其中采用的指标包括语言普及度、语言相关网页数量与提及频率、招聘岗位与指导材料数量乃至相关开源代码库丰富性等...
无论多么有经验的程序员,开发的任何软件都不可能完全没有 bug。因此,排查及修复 bug 成为软件开发周期中最重要的任务之一。有许多办法可以排查 bug(测试、代码自审等等),但是还有一些专用软件(称为调试器)可以帮助准确定位问题的所在,以便进行修复。...
本文首先提出平台相关代码造成的两个问题,然后针对这两个问题循序渐进依次提出解决方案,在分析了前两个方案弱点的基础上,最后着重介绍一种基于多种 设计模式 的 Linux 平台相关代码的解决方案,并给出此方案的 C++ 实现。 Linux 平台相关代码带来的问题...
本文介绍多线程环境下并行编程的基础设施。主要包括: Volatile __thread Memory Barrier __sync_synchronize volatile 编译器有时候为了优化性能,会将一些变量的值缓存到寄存器中,因此如果编译器发现该变量的值没有改变的话,将从寄存器里读出该值,这样...
一、fork 入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()...