Sha256: da85bdd9bc955c6cd1c0c7a9f4437ecf65ae2850e2a48ce4231fb6dbcb593bd8
Contents?: true
Size: 1.78 KB
Versions: 3
Compression:
Stored size: 1.78 KB
Contents
# # trema kill command. # # Author: Yasuhito Takamiya <yasuhito@gmail.com> # # Copyright (C) 2008-2012 NEC Corporation # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2, as # published by the Free Software Foundation. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # require "optparse" require "trema/dsl" require "trema/util" module Trema module Command include Trema::Util def kill options = OptionParser.new options.banner = "Usage: #{ $PROGRAM_NAME } kill NAME [OPTIONS ...]" options.on( "-h", "--help" ) do puts options.to_s exit 0 end options.on( "-v", "--verbose" ) do $verbose = true end options.parse! ARGV context = Trema::DSL::Context.load_current # [FIXME] Trema apps does not appear in context.apps. why? pid_file = File.join( Trema.pid_directory, "#{ ARGV[ 0 ] }.pid" ) if FileTest.exist?( pid_file ) Trema::Process.read( pid_file ).kill! end host = context.hosts[ ARGV[ 0 ] ] host.shutdown! if host switch = context.switches[ ARGV[ 0 ] ] switch.shutdown! if switch # [TODO] kill a link by its name. Needs a good naming convension for link. end end end ### Local variables: ### mode: Ruby ### coding: utf-8 ### indent-tabs-mode: nil ### End:
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
trema-0.1.3.2 | ruby/trema/command/kill.rb |
trema-0.1.3.1 | ruby/trema/command/kill.rb |
trema-0.1.3 | ruby/trema/command/kill.rb |