每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。进程也可能是整个程序或者是部分程序的动态执行。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。也可以把它理解为代码运行的上下文。所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。通常由操作系统负责多个线程.....
分类:
编程语言 时间:
2014-05-07 17:32:42
阅读次数:
378
文件描述符:文件描述符是一个小的非负整数,是内核用来标识特定进程正在访问的文件标准输入/输出/出错:shell为每个程序打开了三个文件描述符,STDIN_FILEON,STDOUT_FILEON,STDERR_FILEON,默认这三个文件描述符都链向终端不带缓冲的IO:函数open
read wri...
分类:
其他好文 时间:
2014-05-07 17:13:03
阅读次数:
284
程序与进程:
程序(program)是一个普通文件,是机器代码指令和数据的集合,这些指令和数据存储在磁盘上的一个可执行映像中。所谓可执行映像就是一个可执行文件的内容。使用6个exec函数中的一个由内核将程序读入内存,并使其执行。
进程(process)是一个动态的实体,它具有生命周期,系统中进程.....
分类:
其他好文 时间:
2014-05-07 02:33:54
阅读次数:
352
一、进程:进程就是一个正在执行的程序。二、线程:线程是进程执行的一条线索或路径。进程中至少有一个线程存在。三、多线程:顾名思义,一个进程中的多个线程。
线程的开始:当要运行一个程序时,JVM首先会找到main函数,然后从main函数开始执行(也就是说,程序是从main函数开始运行的), 此时,程序就...
分类:
编程语言 时间:
2014-05-07 01:19:40
阅读次数:
403
进程:运行在系统当中的任务(一个进程至少有一个线程)线程:运行在进程当中的任务(线程不能脱离进程)进程:独立内存地址空间
线程:同进程中线程共享内存地址继承Thread 类 run()子线程的入口子线程没结束前,主线程不会结束优先级(1-10 10最高)的设置,只能让优先级高的
抢到执行CPU的几....
分类:
编程语言 时间:
2014-05-07 00:02:20
阅读次数:
379
finish是Activity的类,仅仅针对Activity,当调用finish()时,只是将活动推向后台,并没有立即释放内存,活动的资源并没有被清理;当调用System.exit(0)时,杀死了整个进程,这时候活动所占的资源也会被释放。在开发android应用时,常常通过按返回键(即keyCode...
分类:
移动开发 时间:
2014-05-06 23:54:54
阅读次数:
510
在一些对安全性要求较高的场景下,ssh的超时时间是管理员预先设置好的,在闲置一段时间后ssh连接会自动断开。这种情况下如果通过ssh执行脚本,而脚本运行时间又比较长的话,会导致ssh客户端和服务器长时间无交互而超时,命令执行失败。
使用bash子进程可以解决这种问题,思路是由子进程执行具体的逻辑代码,而由主进程来监控子进程的执行状态,同时向控制台输出字符来keep alive。
bash创建子...
分类:
其他好文 时间:
2014-05-06 23:30:56
阅读次数:
366
本章关注单进程运行环境:启动&终止、参数传递和内存布局等。
进程启动终止
如图所示:
启动:内核通过exec函数执行程序,在main函数运行之前,会调用启动例程(start-up routine),取得命令行参数和环境变量。可以把启动例程理解为exit(main(argc,argv))。终止:五种正常终止方式(从main方法返回/exit/_exit/最后一个线程返回/最...
分类:
其他好文 时间:
2014-05-06 22:03:53
阅读次数:
514
1、linux下等待队列的基本概念
在内核里面,等待队列是有很多用处的,尤其是在中断处理、进程同步、定时等场合。可以使用等待队列在实现阻塞进程的唤醒。它以队列为基础数据结构,与进程调度机制紧密结合,能够用于实现内核中的异步事件通知机制,同步对系统资源的访问等。...
分类:
其他好文 时间:
2014-05-06 21:00:04
阅读次数:
636
1.ps通常我们会使用ps-aux查看用户启动的进程USER:进程的属主PID:进程的ID%CPU:进程占CPU的百分比%MEM:进程占内存的百分比VSZ:进程使用的虚拟内存量(KB)RSS:进程使用的固定内存量(KB)TTY:进程运行的终端,若与终端无关,则显示?。若为pts/0等,则表示由网络连接主机进程ST..
分类:
其他好文 时间:
2014-05-06 20:50:35
阅读次数:
344