Перезагрузка HTTPD Apache [закрывается]

Swift 2.0:

1)

//  AppDelegate.swift

import UIKit
import Foundation

@UIApplicationMain

class AppDelegate: UIResponder, UIApplicationDelegate {

 var window: UIWindow?
 var splashTimer:NSTimer?
 var splashImageView:UIImageView?

 func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

  window = UIApplication.sharedApplication().delegate!.window!

  let splashImage: UIImage = UIImage(named: "ic_120x120.png")!
  splashImageView = UIImageView(image: splashImage)
  splashImageView!.frame = CGRectMake(0, 0, (window?.frame.width)!, (window?.frame.height)!)

  window!.addSubview(splashImageView!)
  window!.makeKeyAndVisible()

  //Adding splash Image as UIWindow's subview.
  window!.bringSubviewToFront(window!.subviews[0])

  // Here specify the timer.
  splashTimer = NSTimer.scheduledTimerWithTimeInterval(5.0, target: self, selector: "splashTimerForLoadingScreen", userInfo: nil, repeats: true)

  return true
 }
 func splashTimerForLoadingScreen() {
  splashImageView!.removeFromSuperview()
  splashTimer!.invalidate()
 }

2)

 func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

  NSThread.sleepForTimeInterval(9)

  OR

  sleep(9)

  return true
 }

3) Использование концепции контроллера корневого представления:

//  AppDelegate.swift

import UIKit
import Foundation

@UIApplicationMain

class AppDelegate: UIResponder, UIApplicationDelegate {

 var window: UIWindow?
 var splashTimer:NSTimer?
 var storyboard:UIStoryboard?

 func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

  window =  UIWindow(frame: UIScreen.mainScreen().bounds)
  window?.makeKeyAndVisible()

  storyboard = UIStoryboard(name: "Main", bundle: nil)

  //Here set the splashScreen VC
  let rootController = storyboard!.instantiateViewControllerWithIdentifier("secondVCID")

  if let window = self.window {
   window.rootViewController = rootController
  }

  //Set Timer
  splashTimer = NSTimer.scheduledTimerWithTimeInterval(5.0, target: self, selector: "splashTimerCrossedTimeLimit", userInfo: nil, repeats: true)

  return true
 }
 func splashTimerCrossedTimeLimit(){

  //Here change the root controller
  let rootController = storyboard!.instantiateViewControllerWithIdentifier("firstVCID")
  if let window = self.window {
   window.rootViewController = rootController
  }
  splashTimer?.invalidate()
 }
22
задан Luke 22 March 2009 в 21:49
поделиться

2 ответа

В первую очередь, Вы говорите, что перезагрузка, но принятие Вас означает 'перезагрузку' ИЛИ 'перезапуск':

   /my/path/to/httpd restart
  • Причины текущие httpd обрабатывают для выхода, что означает какое-то время, что сервер, кажется, снижается, как в не обслуживании любых запросов.

Перезагрузка с другой стороны:

    /my/path/to/httpd reload
  • не заставляет текущий сервер выходить, что означает, что соединениям никогда не отказывают, и таким образом сервер никогда не выглядит вниз (но является довольно медленным на некоторое время)
  • , заставит все длительные httpd запросы демона выходить
38
ответ дан kramer65 29 November 2019 в 04:36
поделиться

Насколько я знаю, нет. Однако существует корректный перезапуск, который останавливает дочерние узлы останавливающаяся середина запроса, который я думаю, заботится об этом.

http://httpd.apache.org/docs/2.2/stopping.html

5
ответ дан Ross 29 November 2019 в 04:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: