我正在使用 ps(特别是 psutil python 库)查看我的 linux 机器上正在运行的进程列表。我想确定哪些进程正在运行 Go 应用程序(即,它们正在运行 Go 代码)。
下面是用 Go 编写的进程的 ps 输出。是否有任何迹象表明它正在运行 Go 代码?
{'cmdline': ['./SampleMePlz'],
'connections': [connection(fd=3, family=10, type=1, laddr=('::', 8080), raddr=(), status='LISTEN')],
'cpu_affinity': [0, 1, 2, 3],
'cpu_percent': 0.0,
'cpu_times': cputimes(user=0.0, system=0.0),
'create_time': 1436474176.89,
'cwd': '/home/ben/gocode/src/SampleMePlz',
'exe': '/home/ben/gocode/src/SampleMePlz/SampleMePlz',
'ext_memory_info': meminfo(rss=4071424, vms=192684032, shared=3092480, text=3096576, lib=0, data=179523584, dirty=0),
'gids': group(real=5000, effective=5000, saved=5000),
'io_counters': io(read_count=12, write_count=0, read_bytes=4096, write_bytes=0),
'ionice': ionice(ioclass=0, value=4),
'memory_info': meminfo(rss=4071424, vms=192684032),
'memory_maps': [mmap(path='/lib/x86_64-linux-gnu/libpthread-2.15.so', rss=65536, size=2199552, pss=8192, shared_clean=57344, shared_dirty=0, private_clean=0, private_dirty=8192, referenced=65536, anonymous=8192, swap=0),
mmap(path='/lib/x86_64-linux-gnu/libc-2.15.so', rss=311296, size=3903488, pss=26624, shared_clean=286720, shared_dirty=0, private_clean=0, private_dirty=24576, referenced=311296, anonymous=24576, swap=0),
mmap(path='[stack]', rss=8192, size=139264, pss=8192, shared_clean=0, shared_dirty=0, private_clean=0, private_dirty=8192, referenced=8192, anonymous=8192, swap=0),
mmap(path='[anon]', rss=946176, size=179245056, pss=946176, shared_clean=0, shared_dirty=0, private_clean=0, private_dirty=946176, referenced=946176, anonymous=946176, swap=0),
mmap(path='/lib/x86_64-linux-gnu/ld-2.15.so', rss=122880, size=151552, pss=13312, shared_clean=110592, shared_dirty=0, private_clean=0, private_dirty=12288, referenced=122880, anonymous=12288, swap=0),
mmap(path='[vsyscall]', rss=0, size=4096, pss=0, shared_clean=0, shared_dirty=0, private_clean=0, private_dirty=0, referenced=0, anonymous=0, swap=0),
mmap(path='[heap]', rss=4096, size=135168, pss=4096, shared_clean=0, shared_dirty=0, private_clean=0, private_dirty=4096, referenced=4096, anonymous=4096, swap=0),
mmap(path='[vdso]', rss=4096, size=4096, pss=0, shared_clean=4096, shared_dirty=0, private_clean=0, private_dirty=0, referenced=4096, anonymous=0, swap=0),
mmap(path='/home/ben/gocode/src/SampleMePlz/SampleMePlz', rss=2908160, size=6905856, pss=2908160, shared_clean=0, shared_dirty=0, private_clean=2879488, private_dirty=28672, referenced=2908160, anonymous=28672, swap=0)],
'memory_percent': 0.025919821179310142,
'name': 'SampleMePlz',
'nice': 0,
'num_ctx_switches': amount(voluntary=15, involuntary=18),
'num_fds': 5,
'num_threads': 6,
'open_files': [],
'pid': 111252,
'ppid': 42061,
'status': 'sleeping',
'terminal': '/dev/pts/9',
'threads': [thread(id=111252, user_time=0.0, system_time=0.0),
thread(id=111253, user_time=0.0, system_time=0.0),
thread(id=111254, user_time=0.0, system_time=0.0),
thread(id=113972, user_time=0.0, system_time=0.0),
thread(id=113973, user_time=0.0, system_time=0.0),
thread(id=113974, user_time=0.0, system_time=0.0)],
'uids': user(real=3008, effective=3008, saved=3008),
'username': 'ben'}
最佳答案
简短的回答是否定的。编译代码时没有留下任何关于生成它的语言/编译器的信息。您可以查找 go-program 的症状,例如对您的 GOPATH 或其子目录的引用,但仅此而已。
关于linux - 检查进程是否为 Go 应用程序(在 Linux/Unix 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31328213/
我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0
给定这段代码defcreate@upgrades=User.update_all(["role=?","upgraded"],:id=>params[:upgrade])redirect_toadmin_upgrades_path,:notice=>"Successfullyupgradeduser."end我如何在该操作中实际验证它们是否已保存或未重定向到适当的页面和消息? 最佳答案 在Rails3中,update_all不返回任何有意义的信息,除了已更新的记录数(这可能取决于您的DBMS是否返回该信息)。http://ar.ru
对于具有离线功能的智能手机应用程序,我正在为Xml文件创建单向文本同步。我希望我的服务器将增量/差异(例如GNU差异补丁)发送到目标设备。这是计划:Time=0Server:hasversion_1ofXmlfile(~800kiB)Client:hasversion_1ofXmlfile(~800kiB)Time=1Server:hasversion_1andversion_2ofXmlfile(each~800kiB)computesdeltaoftheseversions(=patch)(~10kiB)sendspatchtoClient(~10kiBtransferred)Cl
Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack
我想用ruby编写一个小的命令行实用程序并将其作为gem分发。我知道安装后,Guard、Sass和Thor等某些gem可以从命令行自行运行。为了让gem像二进制文件一样可用,我需要在我的gemspec中指定什么。 最佳答案 Gem::Specification.newdo|s|...s.executable='name_of_executable'...endhttp://docs.rubygems.org/read/chapter/20 关于ruby-在Ruby中编写命令行实用程序
为了将Cucumber用于命令行脚本,我按照提供的说明安装了arubagem。它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了require'aruba/cucumber'在'features/env.rb'中为了确保它能正常工作,我写了以下场景:@announceScenario:Testingcucumber/arubaGivenablankslateThentheoutputfrom"ls-la"shouldcontain"drw"假设事情应该失败。它确实失败了,但失败的原因是错误的:@announceScenario:Testingcucumber/ar
我构建了两个需要相互通信和发送文件的Rails应用程序。例如,一个Rails应用程序会发送请求以查看其他应用程序数据库中的表。然后另一个应用程序将呈现该表的json并将其发回。我还希望一个应用程序将存储在其公共(public)目录中的文本文件发送到另一个应用程序的公共(public)目录。我从来没有做过这样的事情,所以我什至不知道从哪里开始。任何帮助,将不胜感激。谢谢! 最佳答案 无论Rails是什么,几乎所有Web应用程序都有您的要求,大多数现代Web应用程序都需要相互通信。但是有一个小小的理解需要你坚持下去,网站不应直接访问彼此
我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r
在MRIRuby中我可以这样做:deftransferinternal_server=self.init_serverpid=forkdointernal_server.runend#Maketheserverprocessrunindependently.Process.detach(pid)internal_client=self.init_client#Dootherstuffwithconnectingtointernal_server...internal_client.post('somedata')ensure#KillserverProcess.kill('KILL',
刚入门rails,开始慢慢理解。有人可以解释或给我一些关于在application_controller中编码的好处或时间和原因的想法吗?有哪些用例。您如何为Rails应用程序使用应用程序Controller?我不想在那里放太多代码,因为据我了解,每个请求都会调用此Controller。这是真的? 最佳答案 ApplicationController实际上是您应用程序中的每个其他Controller都将从中继承的类(尽管这不是强制性的)。我同意不要用太多代码弄乱它并保持干净整洁的态度,尽管在某些情况下ApplicationContr