http_server.py为一个启动http服务器的脚本,大概代码:
server_address = ("", 7000)
server = BaseHTTPServer.HTTPServer(server_address, ServerHandler)
server.serve_forever()
现象:
1)在linux shell后台执行python脚本
python http_server.py &
2)退出当前shell
exit
3)这时请求一下http服务
http://localhost:7000
4)报错
Traceback (most recent call last):
File "http_server.py", line 57, in <module>
server.serve_forever()
File "/usr/local/lib/python2.6/SocketServer.py", line 226, in serve_forever
self._handle_request_noblock()
IOError: [Errno 5] Input/output error
原因:
server.serve_forever()启动后,任何一个访问,都会输出访问历史记录:
localhost - - [07/Sep/2011 15:21:24] "GET / HTTP/1.1" 200 -
这个log的输出,需要输出的载体,这里是依赖shell。如果此时退出了shell,log输出找不到地方,就会报出以上错误。
而且很诡异的是,这个log我怀疑是以error为输出管道,而不是标准的input输出管道,因为我尝试过python http_server.py > /dev/null &一样会报错。
解决:
既然缺少了log输出载体,我们就指定一个,这里使用/dev/null,传说中的垃圾回收站。
执行脚本使用:
python http_server.py > /dev/null 2>&1 &
标准和error输出都扔到/dev/null
针对此现象的一个朋友的描述:
http://hi.baidu.com/dalier/blog/item/bb9429301b60d290a9018e9f.html
分享到:
相关推荐
本主题聚焦于“PHP后台循环锁定文件”,这是一个涉及PHP、后台循环以及shell锁定技术的实践应用。下面将详细阐述这些知识点。 首先,PHP后台循环是指在PHP环境中,通过编写代码使程序在后台持续运行,而不是像常规...
void DispNetCardInfo(char *dev) int GetNetCard(void) int GetIpAddr(char *pIpBuf) ...int net_get_shell_cmd_error_info(char *cmdstring, char *buf, int ilen) int net_shell_cmd_is_succ(char *cmdstring)
在Linux和Unix操作系统中,`shell`后台执行命令是一个重要的功能,它允许用户在不阻塞终端的情况下运行程序。这通常适用于那些长时间运行或者需要在特定时间执行的任务,以便用户可以继续其他工作。 首先,`cron`是...
批量远程执行linux_shell命令_remote_shell
#define T_ESCAPE_SHELL_CMD (1) #define T_ESCAPE_PATH_SEGMENT (2) #define T_OS_ESCAPE_PATH (4) #define T_ESCAPE_ECHO (8) #define T_ESCAPE_URLENCODED (16) #define T_ESCAPE_XML (32) #define T_ESCAPE_LDAP...
在Android开发中,有时我们需要执行一些系统级别的操作,如文件管理、权限控制或者硬件交互,这时就涉及到使用shell命令。本教程将深入讲解如何在Android应用中通过Java代码执行shell命令,以提升应用的功能和效率。...
模型神奇地显示出了泛化效果,在没有参与训练的数字 3 上也可以配准, 其它数字也一样: ![visdom-train](./pytorch/ckpts/mnist/visdom-test-3.jpg) ![visdom-train](./pytorch/ckpts/mnist/visdom-test-7.jpg) ...
在Linux系统中,后台执行shell命令是日常系统管理和自动化任务执行的重要组成部分。这些命令允许我们无需保持终端会话打开即可运行程序,极大地提高了工作效率。本文将深入探讨标题中提到的几种后台执行命令,包括`...
本文将深入探讨标题"shell_ip_orangewgz_linux_shell_shell编程_shell脚本_"所提及的利用Shell编写判断IP地址合法性的脚本这一主题。我们将围绕Linux Shell、Shell脚本、shell编程以及如何在orangewgz Linux发行版上...
#include #include #include #include #include <sys/types.h> #include <sys/wait.h> #include #define MAX_HOST_LEN 32 /* 主机名最大长度 */ #define MAX_PATH_LEN 256 /* 路径的最大长度 */ ...
Shell脚本是Linux/Unix操作系统中的重要工具,用于自动化日常任务和系统管理。在CentOS 7及其更新版本中,Shell脚本可以极大地提高工作效率,特别是在系统巡检和安全加固方面。这个名为"Shell_Scripts.zip"的压缩包...
在Android系统中,由于安全性的考虑,普通应用通常无法直接执行shell命令,这给了一些开发者在特定场景下进行系统级操作的限制。然而,通过巧妙地利用`app_process`,可以实现在不获取root权限的情况下调用shell命令...
-overwrite_cache --output_dir ./output/adgen-chatglm-6b-pt-1282e-2 --overwrite_output_dir --max_source_length 64 --max_target_length 64 --per_device_train_batch_size 1 --per_device_eval_batch_size 1 -...
通过_curl_+_管道快速在线执行常用_Linux_Shell_命令_quick-shell
if (ERROR_ALREADY_EXISTS == GetLastError()) // 判断程序是否已运行 { AfxMessageBox("该应用程序已运行! ", MB_ICONINFORMATION | MB_OK); ExitProcess(0); // 退出应用程序 } } ReleaseMutex...
在深入探讨安卓ADB Shell Input Keyevent按键大全之前,我们首先需要理解ADB(Android Debug Bridge)的概念及其作用。ADB是Google开发的一款用于与Android设备进行通信的工具,它提供了丰富的命令行选项来控制和...
SHELL脚本作为Linux/Unix系统中的强大工具,可以实现对远程主机的自动化控制,尤其在处理定时任务和远程执行命令时尤为便捷。本案例将探讨如何利用SHELL脚本来定时获取远程主机上的Perl脚本执行结果,并将其记录到...
shell@octopus-perf:/ # input keyevent 82 设置→显示→休眠→无操作30分钟后(f1编译选项有永久) 设置→安全→屏幕锁定→无 设置→辅助功能→自动旋转屏幕(去掉选中即可就改为横屏了) su之后使用getevent -...
1. **基本外部命令**:Shell支持许多内置命令,如`ls`列出目录内容,`cd`切换目录,`echo`打印文本等,同时也能够调用系统中的其他可执行程序,如编译器、解释器等。 2. **管道(Pipeline)**:管道允许将一个命令...
使用shell脚本管理系统,可将脚本放在后台执行,同时非挂起运行。