
Linux
JenaeLi
Running for the sun!
展开
-
cd一个目录需要什么权限?显示其中文件呢?
首先进入用户目录cd ~,新建一个目录文件dir,并修改其权限掩码为000。mkdir dir chmod 000 dir如下图其中蓝色的表示文件名。来看一张图,了解一下文件名之前的这些标识符含义吧,以bit_code为例:可以看到,新建的dir目录对于所有用户都没有rwx的权限,那么现在,我们来cd一下dir看是否能够进去。毫无意外,无访问权限。 下面我给用户加上r读权限看是否可以访问 还是原创 2017-04-01 14:28:00 · 5203 阅读 · 0 评论 -
Linux中关于find指令的用法以及whereis指令
初识Linux,感觉“哇塞好神奇。。。。。。”真的一点儿不夸张。 当你扔掉鼠标,拿一把称心如意的键盘来控制计算机的时候,那个feel,倍儿爽,想想都觉得帅到爆。当然,前提是你得能够熟练的运用Linux指令。 额,言归正传,我就想说说find指令的使用来着。以下所有命令用于CentOS6.5系统下。用户名为uu。 Linux下find命令在目录结构中搜索⽂件,并执⾏指定的操作。原创 2017-03-26 14:15:45 · 1349 阅读 · 0 评论 -
Linux文件特殊权限之set位权限和粘滞位权限
http://www.it165.NET/os/html/201403/7460.html进程访问文件时的权限匹配机制:进程的发起者,作为进程的属主;而进程属主所属的基本组作为进程的属组; 进程在确定对文件的访问权限的时候,首先会去查看进程的属主和文件的属主是否一样,若一样,则运用该文件属主的权限,否则则检查进程的属主所属的组(用户可属于多个组),是否有其中之一与文件的属组匹配,若有,则运用该文件转载 2017-03-26 14:52:01 · 813 阅读 · 0 评论 -
子进程的异步等待方式——SIGCHLD信号
僵尸与孤儿进程 先来学习两种进程: 孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。 僵尸进程:一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系原创 2017-06-18 10:16:10 · 1304 阅读 · 0 评论 -
Linux下使用gdb调试多进程与多线程程序
常见gdb基本指令 在Linux环境下,我们使用gdb对代码进行调试。下面先来看看常用的gdb调试指令:list/l ⾏号 —> 显⽰binFile源代码,接着上次的位置往下列,每次列10⾏。list/l 函数名 —> 列出某个函数的源代码。r/run —> 运⾏程序。s或step —> 进⼊函数调⽤breaktrace(或bt) —> 查看各级函数调⽤及参数info( i) loca原创 2017-06-08 00:36:33 · 583 阅读 · 0 评论 -
创建守护进程为何fork两次
我们先来了解一下什么是守护进程?守护进程 守护进程也称精灵进程(Daemon) 它是运⾏在后台的⼀种特殊进程。它独⽴于控制终端并且周期性地执⾏某种任务或等待处理某些发⽣的事件。守护进程是⼀种很有⽤的进程。Linux的⼤多数服务器就是⽤守护进程实现的。⽐如, Internet服务器inetd, Web服务器httpd等。同时,守护进程完成许多系统任务。⽐如,作业规划进程crond等。原创 2017-06-20 10:38:42 · 1165 阅读 · 1 评论 -
死锁的产生以及避免原理和算法
死锁 是指多个并发进程在运行过程中因竞争资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,这些进程都无法向前推进。并发性 : 指两个或多个事件在同一时刻发生并行性 : 指两个或多个事件在同一时间间隔内发生 来看两种典型的死锁情形: 如果同⼀个线程先后两次调⽤lock,在第⼆次调⽤时,由于锁已经被占⽤,该线程会挂起等待别的线程释放锁,然⽽锁正是被⾃⼰占⽤着原创 2017-06-08 14:14:50 · 3362 阅读 · 1 评论 -
银行家算法避免死锁问题
银行家算法(Banker’s Algorithm)是一个避免死锁(Deadlock)的著名算法,是由艾兹格·迪杰斯特拉在1965年为T.H.E系统设计的一种避免死锁产生的算法。它以银行借贷系统的分配策略为基础,判断并保证系统的安全运行。背景知识 在银行中,客户申请贷款的数量是有限的,每个客户在第一次申请贷款时要声明完成该项目所需的最大资金量,在满足所有贷款要求时,客户应及时归还。银行家在客户申原创 2017-06-08 13:17:24 · 3481 阅读 · 0 评论 -
模拟实现sleep(普通版本以及规避竞态条件的实现与对比)
几个重要的函数 实现代码之前,先来学习几个函数。sigaction : 该函数可以读取和修改与指定信号相关联的处理动作。int sigaction(int sig, const struct sigaction *act, struct sigaction *oact); 返回值 : 调⽤成功则返回0,出错则返回- 1。 sig : sig是指定信号的编号。 act : 若原创 2017-06-15 14:59:26 · 483 阅读 · 0 评论