python spawnv用法

test.py

import os
import string

def run(program, *args):
    file = program
    result = os.spawnv(os.P_WAIT, file, (file,) + args)
    print result

run("/usr/bin/python", "/scripts/hello.py")

while True:
    time.sleep(10)

注:
1、os.P_WAIT  父进程挂起直到子进程执行完毕,返回进程退出时的状态码。
os.P_NOWAIT  父进程和子进程同时运行,返回新进程的id

2、os.spawnv的参数形式需要严格按上图所示,file是环境变量的绝对路径,
只记录python会出错,os.P_NOWAIT模式对应的子进程是一个僵尸进程

os.P_WAIT模式返回127,实际的程序没有执行。

 

hello.py

import os
import sys
import time

while True:
    print "hello"
    time.sleep(10)

 

转载于:https://www.cnblogs.com/nerrissa/p/8441582.html

Python 的 `os` 模块是一个非常强大的标准库,它提供了与操作系统交互的功能,使得 Python 程序能够访问文件、目录以及环境变量等系统级信息,并执行操作系统的命令。 ### `os` 模块的主要功能包括: 1. **文件和目录管理**:通过这个模块可以创建、删除文件及目录;读取、改变文件权限;移动文件;列出目录内容等; - 示例:`os.mkdir('new_dir')` 创建新目录;`os.remove('file.txt')` 删除文件; 2. **进程控制**:允许程序查看当前运行的所有进程的信息,启动新进程,终止现有进程,等待进程结束等; - 示例:`os.system('command')` 执行外部命令; - `os.spawnl()` 和 `os.spawnv()` 开启新进程并指定其参数; - `os.waitpid(pid[, options])` 等待进程完成; 3. **环境变量处理**:获取、设置或删除环境变量,查询操作系统环境信息; - 示例:`os.environ['VAR_NAME'] = 'value'` 设置环境变量; - `os.getenv('VAR_NAME', default_value)` 获取环境变量值,默认返回默认值; 4. **路径操作**:处理文件路径的拼接、转换等; - 示例:`os.path.join(path1, path2)` 拼接两个路径; - `os.path.basename(file_path)` 提取路径的最后一部分(文件名); 5. **系统信息**:查询操作系统类型、版本、用户ID、组ID等系统级别的信息; - 示例:`os.name` 返回操作系统的名称(如 'posix' 或 'nt'); 6. **文件属性检查**:检查文件是否存在、是否为目录、是否可读写执行等; - 示例:`os.access(path, mode)` 检查文件权限(如 os.R_OK for read permission); 7. **其他系统相关的操作**:提供跨平台的系统功能,例如清理管道、获取进程状态等。 ### 使用示例 ```python import os # 创建目录 os.mkdir("test_directory") # 列出目录内容 print(os.listdir(".")) # 移动文件到新目录下 os.rename("example_file.txt", "example_file.txt.new") os.rename("example_file.txt.new", "./moved_to_test_directory/example_file.txt") # 查看当前工作目录 print(os.getcwd()) # 改变工作目录 os.chdir("/path/to/new/directory") # 删除文件或目录 if os.path.exists("example_file.txt"): os.remove("example_file.txt") # 启动一个新的shell实例 os.system('bash') # 设置环境变量 os.environ["MY_VAR"] = "some value" print(os.environ.get("MY_VAR")) ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值