ejectdevice.c

来自「在linux对cdrom直接使用ioctl控制cdrom的仓门」· C语言 代码 · 共 56 行

C
56
字号
#include <stdio.h>#include <string.h>#include <pthread.h>#include <stdlib.h>#define	MAX_DEV 4#define	NAM_LEN	30char    devname[MAX_DEV][NAM_LEN];void process_eject(char *devname){	system(devname);}int main(){	int	i;	int	tid[MAX_DEV];	pthread_t	pthread_id[MAX_DEV];	for(i=0;i<MAX_DEV;i++)		sprintf(devname[i],"eject /dev/sr%d",i);/*	for(i=0;i<MAX_DEV;i++){		printf("OUT devicenum is /dev/sr%d\n",i);		system(devname[i]);	}*/	for(i=0;i<MAX_DEV;i++){printf("OUT devicenum is /dev/sr%d\n",i);		tid[i] = pthread_create(&pthread_id[i],NULL,(void *)process_eject,(char *)&devname[i]);		if(tid[i] < 0){			printf("Error on create process_eject pthread!\n");			continue;		}	}	for(i=0;i<MAX_DEV;i++)		pthread_join(pthread_id[i],NULL);	for(i=0;i<MAX_DEV;i++)		sprintf(devname[i],"eject -t /dev/sr%d",i);	for(i=0;i<MAX_DEV;i++){printf("IN devicenum is /dev/sr%d\n",i);                tid[i] = pthread_create(&pthread_id[i],NULL,(void *)process_eject,(char *)&devname[i]);                if(tid[i] < 0){                        printf("Error on create process_eject pthread!\n");                        continue;                }        }	for(i=0;i<MAX_DEV;i++)                pthread_join(pthread_id[i],NULL);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?