我正在创建一个命令行应用程序,它产生一个进程(由用户定义的命令,通常是一个HTTP服务器),当应用程序的工作完成时,我想让进程知道它应该终止.
在UNIX中,我可以通过发送SIGTERM来做到这一点,如果进程没有结束,那么我可以通过SIGKILL残酷杀死它.
在Windows中,我很难找到SIGTERM场景的替代方案.我学到了taskkill /PID XXXX(没有/f!),但是
taskkill /PID XXXX幕后内容的信息,因此我无法测试它.我找不到如何处理taskkill /PID XXXX进程端的任何发送.cmd.exe.我尝试在一个中运行一个简单的服务器进程cmd.exe,获取其PID并在另一个窗口中运行taskkill /PID XXXX它,但taskkill拒绝这样做:ERROR: The process with PID XXXX could not be terminated. Reason: This process can only be terminated forcefully (with /F option).所以我的问题是:如何通知Windows中的命令行进程它应该终止而不强行终止它?如何在待终止进程方面接收和处理此类消息?
我有一个iframe FB应用程序.我们有三个地方开发它:我的localhost,我们测试应用程序的舞台服务器,生产服务器.Localhost和生产都有HTTPS.Localhost和stage应用程序启用了沙箱模式.所有版本的应用程序都是相同的,代码是相同的.除HTTPS之外,舞台和制作完全相同,具有相同的设置.
现在只在我的舞台服务器应用程序中发生了什么:当我点击应该召唤jQuery UI对话框的东西时,它会在我的Firebug中引发跟随错误:Permission denied to access property 'Arbiter'.然后没有召唤对话.它以某种方式动态加载canvas_proxy.php,在此代码中:
/**
* Parses the fragment and calls Arbiter.inform(method, params)
*
* @author ptarjan
*/
function doFragmentSend() {
var
location = window.location.toString(),
fragment = location.substr(location.indexOf('#') + 1),
params = {},
parts = fragment.split('&'),
i,
pair;
lowerPageDomain();
for (i=0; i<parts.length; i++) {
pair = parts[i].split('=', 2);
params[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);
}
var p = params.relation ? resolveRelation(params.relation) : parent.parent;
// The user is not inside a frame (probably testing on …Run Code Online (Sandbox Code Playgroud) 我有一个类似服务器的应用程序,我想从 Python 运行。它永远不会停止,直到用户中断它。我想在应用程序运行时不断将 stdout 和 stderr 重定向到父级。幸运的是,这正是subprocess.run它的作用。
贝壳:
$ my-app
1
2
3
...
Run Code Online (Sandbox Code Playgroud)
wrapper.py:
import subprocess
subprocess.run(['my-app'])
Run Code Online (Sandbox Code Playgroud)
执行wrapper.py:
$ python wrapper.py
1
2
3
...
Run Code Online (Sandbox Code Playgroud)
我相信这要归功于subprocess.run从父进程继承 stdout 和 stderr 文件描述符这一事实。好的。
但是现在我需要在应用程序输出特定行时做一些事情。想象一下,当输出行包含4以下内容时,我想运行任意 Python 代码:
$ python wrapper.py
1
2
3
4 <-- here I want to do something
...
Run Code Online (Sandbox Code Playgroud)
或者我想从输出中删除一些行:
$ python wrapper.py <-- allowed only odd numbers
1
3
...
Run Code Online (Sandbox Code Playgroud)
我以为我可以有一个过滤函数,我会以某种方式将其挂接到,subprocess.run并且它会在输出的每一行中被调用,无论它是 stdout 还是 stderr:
def filter_fn(line):
if line …Run Code Online (Sandbox Code Playgroud) 想象一下,我有一个像这样的Mongoose模型:
mongoose = require('mongoose')
Products = mongoose.model('Products')
Run Code Online (Sandbox Code Playgroud)
如何以字节为单位获取完整对应集合的大小?我找到了db.collection.storageSize,但在Mongoose API文档中找不到它.
facebook ×1
javascript ×1
mongodb ×1
mongoose ×1
node.js ×1
process ×1
python ×1
python-3.x ×1
subprocess ×1
taskkill ×1
windows ×1