今天寫了一個掃描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;
}