今天写了一个扫描raid的程序,一旦发现raid有操作就会向server发送消息,一开始写了shell脚本调用python程序,可是没有任何反应,后来发现是shell脚本第一行没有写#!/bin/sh.
昨天使用python写了一个server端,用于接收其他程序发给他的消息,用c写了一个client端,用于发送消息
server:python程序
import socket
s = socket.socket(socket.AF_UNIX,socket.SOCK_STREAM)
s.bind("/tmp/pipe.d")
s.listen(5)
while True:
conn,addr=s.accept()
data=conn.recv(1000)
print "Received:",dat
client:c程序
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <string.h>
int main(int argc,char **argv)
{
int fd;
int ret;
int i;
char buf[100];
struct sockaddr_un srv_addr;
fd=socket(PF_UNIX,SOCK_STREAM,0);
srv_addr.sun_family=AF_UNIX;
strcpy(srv_addr.sun_path,"/tmp/pipe.d");
ret=connect(fd,(struct sockaddr*)&srv_addr,sizeof(srv_addr));
strcpy(buf,argv[1]);
strcat(buf,"-");
strcat(buf,argv[2]);
write(fd,buf,strlen(buf));
close(fd);
return 0;
}