草庐IT

posix_kill

全部标签

android - Android 中没有哪些最重要的 POSIX 功能?

我即将将一个大型C++项目(某种库项目,它绝对不包含GUI)移植到Android。它实际上是一个VisualC++项目,但将作为中间步骤移植到Linux。我知道Android不是一个“完整的”Linux,也没有声称提供所有POSIX功能,但我也知道使用NDK在Android上有很多“POSIXish功能”。现在我的实际问题是:与完整的POSIX集相比,哪些是Android上不可用的最大/最重要的功能?这样我在从VisualC++移植到LinuxGCC时可以牢记这一点。我试图在Google上找到一些东西,但没有发现任何真正有用的东西,只是到处都有一些东西提到Android上有一些POSI

c++ - 什么是POSIX,有什么其他的接口(interface)标准可以替代它?

关闭。这个问题需要更多focused.它目前不接受答案。想改善这个问题吗?更新问题,使其仅关注一个问题editingthispost.7年前关闭。Improvethisquestion我对C和C++编程的众多标准和接口(interface)感到困惑。有ANSIC、ISOC、GLIBC、POSIX、Win32、MFC等等。这些标准之间有什么区别,它们之间有什么关系?在什么情况下你会选择一个特定的标准?有没有关系图? 最佳答案 ANSI/ISOCANSIC/ISOC是旨在支持极其广泛的不同系统的标准,并允许编译过去的遗留代码。我们可以称

c++ - 是否允许主线程在进入 main() 之前生成 POSIX 线程?

我有一个包含线程的对象。我希望对象的命运和线程的命运是一回事。因此构造函数创建一个线程(使用pthread_create),析构函数执行操作以使线程在合理的时间内返回,然后加入线程。只要我不使用静态存储持续时间实例化这些对象之一,它就可以正常工作。如果我在全局或命名空间或静态类范围内实例化这些对象之一,则程序编译良好(gcc4.8.1)但在运行时立即出现段错误。使用打印语句,我确定主线程在段错误之前甚至没有进入main()。有什么想法吗?更新:还在构造函数的第一行添加了一个打印语句(所以在调用pthread_create之前),甚至在段错误之前没有打印,但是构造函数确实使用了初始化列表

c++ - 一种将 boost::posix_time::ptime 转换为 __int64 的方法

有谁知道是否有将boost::posix_time::ptime转换为__int64值的好方法。(我编译的是微秒版本,不是纳秒版本)。我需要以某种方式执行此操作,因为我希望将生成的__int64存储在union类型中,该类型将原始数据用于高性能应用程序。像这样的某种Memento功能对我来说非常有用。如果可能的话,我想避免强制转换,但如果需要,我会求助于它们。 最佳答案 将ptime转换为整数是毫无意义的,因为ptime是实际时间的抽象。基于整数的时间是该时间的表示,作为一个纪元的计数。您(可能)想要做的是生成time_durati

c++ - 在 Windows 上用 C++ 执行相当于 "Kill Process Tree"的操作

我们有一个C++任务将派生一个新进程。该进程又可能有几个子进程。如果任务运行超过了分配的时间,我们将要终止该fork进程。但是,我们不想孤立它产生的进程。我们希望他们都死去。我使用了ProcessExplorer,它有一个“KillProcessTree”选项,类似于Windows任务管理器的“EndProcessTree”,所以我猜测/假设有一个公共(public)API可以做到这一点。有没有人这样做过,或者知道对这样做的公共(public)API的引用? 最佳答案 您可能需要考虑“JobsAPI”。CreateJobObject

c++ - 警告 C4996 : This function or variable may be unsafe -- compared to GCC on POSIX

我注意到MS编译器会为cstdlib函数(如getenv)发出“已弃用”警告。MS发明了自己的标准,例如_dupenv_s。问题1AFAIK主要的“不安全”事情是关于重入*。既然MS的CRT被标记为“多线程”(/MT),他们为什么不直接将getenv替换为可重入的线程安全版本呢?是否有人会依赖不安全的行为?问题2我用GCCg++-Wall-Wextra-Weff++-pedanticfoo.cpp编译了相同的代码,它不会产生任何警告。所以我想这在POSIX上不是问题吗?这是如何解决的?(好吧,也许他们只是改变了getenv的行为,很高兴能得到确认。*说它只是关于可重入性是一种过度概括。

Node.js + mocha + webdriverjs : Failed tests kill suite

我正在使用Mocha和WebDriverJS测试一个Web应用程序,或多或少如here所述.当测试通过时,一切都很好。但是,如果一个测试失败,套件中的其余测试将超时,并且运行器将在套件结束时退出,而不关闭Webdriver实例。示例测试用例:varassert=require('assert'),client=require("webdriverjs").remote({logLevel:'silent'});describe('Self-test',function(){before(function(done){client.init().url('http://www.wikip

javascript - 在 Windows : Unable to kill process(es) 上使用 Gulp 进行 E2E 测试编排

我正在努力实现的目标此问题与anotheroneIrecentlyclosed有关带有可怕的hack™。IamtryingtowriteascriptthatcanbeusedastepinacontextofaCI/buildpipeline.ThescriptissupposedtorunProtractor-basedend-to-endtestsforourAngularsingle-pageapplication(SPA).Thescriptisrequiredtodothefollowingactions(inorder):runa.NETCoremicroservicec

javascript - `npm install` 以 "Killed"结尾

我正在尝试运行Telescope(一个meteor应用程序)在Ubuntu16.04服务器上。我按照自述文件中的说明进行操作:curlhttps://install.meteor.com/|shgitclonegit@github.com:TelescopeJS/Telescope.gitnpminstall前两个命令运行没有错误,但最后一个命令以Killed结尾:$npminstallnpmWARNdeprecatedcross-spawn-async@2.2.4:cross-spawnnolongerrequiresabuildtoolchain,useitinstead!extr

c++ - 在 boost::posix_time::ptime 和 mongo::Date_t 之间转换

有没有一种简洁的方式,或者一种普遍接受的方式来从boost::posix_time::ptime转换为mongo::Date_t并再次返回?Mongo到BoostBoostdocumentation似乎不完整或不正确。它记录了一个函数date_from_tm,它从tm构造一个date结构。但是,给出了以下示例:tmpt_tm;/*snip*/ptimept=ptime_from_tm(pt_tm);但是没有记录的函数ptime_from_tm。然而thisheaderfile确实包含该功能。所以,我至少可以从mongo::Date_t转到boost::posix_time::ptime