进程

1.进程的命令


查看CPU:top

查看所有的进程:ps -A

查看当前的进程:ps

关闭进程:kill -9 进程id



int main(int argc, char *argv[])

{

char caFile[64] = {'\\0'};

strncpy(caFile, argv[1], sizeof(caFile));

int ret = -1;

strcat(caFile, ".old");

ret = rename(argv[1], caFile);

if (-1 == ret)

{

printf("rename error:%s\\n", strerror(errno));

return -1;

}

int fdNew = -1;

fdNew = open(argv[1], O_WRONLY | O_CREAT

, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);

if (-1 == fdNew)

{

printf("open error:%s\\n", strerror(errno));

return -1;

}

int fdOld = -1;

fdOld = open(caFile, O_RDONLY);

if (-1 == fdOld)

{

printf("open error:%s\\n", strerror(errno));

return -1;

}

off_t offset = 0;

printf("please input position:");

scanf("%ld", &offset);

char caBuf[PER_IO_BYTES] = {'\\0'};

int iLeft = offset;

//将指定位置之前的数据拷贝到新文件中

while (iLeft)

{

if (iLeft >= PER_IO_BYTES)

{

ret = read(fdOld, caBuf, PER_IO_BYTES);

}

else

{

ret = read(fdOld, caBuf, iLeft);

}

if (-1 == ret)

{

printf("read error:%s\\n", strerror(errno));

break;

}

iLeft -= ret;

ret = write(fdNew, caBuf, ret);

if (-1 == ret)

{

printf("write error:%s\\n", strerror(errno));

break;

}

}

//在指定的位置写入数据

char *pData = "$$$qwertyuiopasdfghjklzxcvbnm$$$";

ret = write(fdNew, pData, strlen(pData));

if (-1 == ret)

{

printf("write error:%s\\n", strerror(errno));

return;

}

//将指定位置之后的数据写入新文件中

while (1)

{

ret = read(fdOld, caBuf, PER_IO_BYTES);

if (-1 == ret)

{

printf("read error:%s\\n", strerror(errno));

break;

}

else if (0 == ret)

{

break;

}

ret = write(fdNew, caBuf, ret);

if (-1 == ret)

{

printf("write error:%s\\n", strerror(errno));

break;

}

}

close(fdNew);

close(fdOld);

ret = remove(caFile);

if (-1 == ret)

{

printf("remove error:%s\\n", strerror(errno));

return -1;

}

return 0;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容