python fork函数
import os
print('---父进程id:%s----'%(os.getpid()))
pid=os.fork()#只能在liunx环境下执行
print('---%s---' % (os.getpid()))
if pid==0:
print('我是子进程%s,父进程%s' % (os.getpid(),os.getppid()))
else:
print('父进程%s,我创建的子进程%s'% (os.getpid(),pid))
输出效果如下:
---父进程id:30181----
---30181---
父进程30181,我创建的子进程30182
---30182---
我是子进程30182,父进程30181
说明:
要了解多进程,先来了解操作系统。在类linux操作系统上,操作系统提供一个fork()系统调用。这个函数和普通的函数不太一样。普通的函数调用一次返回一次,fork()函数调用一次返回两次,为什么呢?因为操作系统自动把当前进程【父进程】复制了一份【子进程】,然后分别在父进程和子进程内返回。子进程永远返回0,而父进程返回子进程的ID,这样做是因为父进程可以fork出很多子进程,父进程需要记住每个子进程的ID,而子进程只需要调用getppid()函数就可以拿到父进程的ID
python fork函数的更多相关文章
- python第六天 函数 python标准库实例大全
今天学习第一模块的最后一课课程--函数: python的第一个函数: 1 def func1(): 2 print('第一个函数') 3 return 0 4 func1() 1 同时返回多种类型时, ...
- python的函数
函数一词起源于数学,但是在编程中的函数和数学中的有很大不同.编程中的函数式组织好的,可重复使用的,用于实现单一功能或相关联功能的代码块. 我们在学习过程中已经使用过一些python内建的函数,如pri ...
- python strip()函数 介绍
python strip()函数 介绍,需要的朋友可以参考一下 函数原型 声明:s为字符串,rm为要删除的字符序列 s.strip(rm) 删除s字符串中开头.结尾处,位于 rm删除 ...
- Linux C 中 fork() 函数详解
一.fork入门知识 一个进程,包括代码.数据和分配给进程的资源.fork() 函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同 ...
- python split()函数
Python split()函数 函数原型: split([char][, num])默认用空格分割,参数char为分割字符,num为分割次数,即分割成(num+1)个字符串 1.按某一个字符分割. ...
- 进程间通信--fork函数
#include <unistd.h> pid_t fork(void); fork() creates a new process by duplicating the calling ...
- Python数学函数
1.Python数学函数 1.abs(x):取绝对值,内建函数 2.math.ceil(x):向上取整,在math模块中 3.cmp(x,y):如果 x < y ,返回-1:如果 x == y ...
- Python回调函数用法实例详解
本文实例讲述了Python回调函数用法.分享给大家供大家参考.具体分析如下: 一.百度百科上对回调函数的解释: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函 ...
- Python之函数与变量
本节内容 函数介绍及其作用 函数的定义与调用 函数的参数说明 全局变量与局部变量 值传递和引用传递 一.函数的介绍及其作用 编程语言中的函数与数学中的函数是有区别的:数学中的函数有参数(输入),就会有 ...
随机推荐
- Entity Framework Tutorial Basics(29):Stored Procedure in Entity Framework
Stored Procedure in Entity Framework: Entity Framework has the ability to automatically build native ...
- 多线程学习-基础(五)sleep()和yield()的区别(理论)
一.sleep()和yield()的区别 (1)sleep()使当前线程进入停滞状态(即阻塞状态),所以执行sleep()的线程在指定的时间内不会被执行: (2)yield()只是使当前线程从运行状态 ...
- 如何设置Oracle process值
参考链接:http://blog.51cto.com/sunwayle/88870 su - oracle sqlplus system as sysdba; show parameter proce ...
- Oracle 函数-字符型函数
1.字符型函数 函数 说明 案例 结果 ASCII(X) 求字符X的ASCII码 select ASCII('A') FROM DUAL; 65 CHR(X) 求ASCII码对应的字符 select ...
- linux 进程间通信机制(IPC机制)一总览
1.作用:进程间通信机制(Inter Process Communication,IPC),这些IPC机制的存在使UNIX在进程通信领域手段相当丰富,也使得程序员在开发一个由多个进程协作的任务组成的系 ...
- 访问其他电脑的c盘
访问其他电脑的c盘 \\192.168.0.1\C$
- ssh 免密码远程登录
背景: 公司有两台服务器A与B,经常会碰到代码中的配置文件不一致的情况...............,为了反面让两台服务器配置统一,所以需要写个shell脚本,用到的linux命令主要是scp 1.在 ...
- 读《JavaScript权威指南》笔记(三)--对象
1.对象介绍 对象是JavaScript的基本数据类型.对象是一种复合值:它将很多值(原始值或者其他对象)聚合在一起,可通过名字访问这些值.对象也可看做是属性的无序集合,每个属性都是一个名/值对.属性 ...
- 用ES6的class模仿Vue写一个双向绑定
原文地址:用ES6的class模仿Vue写一个双向绑定 点击在线尝试一下 最终效果如下: 构造器(constructor) 构造一个TinyVue对象,包含基本的el,data,methods cla ...
- Linux串口参数设置
linux串口编程参数配置详解 1.linux串口编程需要的头文件 #include <stdio.h> //标准输入输出定义#include <stdlib.h&g ...