docstr: Start bert serving server.
docstr_tok: ["Start","bert","serving","server","."]
code: def start_bert_serving(args):
      """
      Start bert serving server.
      """
      if platform.system() != "Linux":
          log.logger.error("Error. Bert Service only support linux.")
          return False
  
      if is_port_occupied("127.0.0.1", args.port) is True:
          log.logger.error(
              "Port %s is occupied, please change it." % args.port
          )
          return False
  
      from paddle_gpu_serving.run import BertServer
  
      bs = BertServer(with_gpu=args.use_gpu)
      bs.with_model(model_name=args.modules[0])
      CacheUpdater(
          "hub_bert_service", module=args.modules[0], version="0.0.0"
      ).start()
      bs.run(gpu_index=args.gpu, port=int(args.port))
  
imports: import argparse
  import os
  import platform
  import json
  import multiprocessing
  import time
  import signal
  import paddlehub
  from paddlehub.commands import register
  from paddlehub.serving import app_compat
  from paddlehub.env import CONF_HOME
  from paddlehub.serving.http_server import run_all, StandaloneApplication
  from paddlehub.utils import log
  from paddlehub.utils.utils import is_port_occupied
  from paddlehub.server.server import CacheUpdater
label_desc: Use image node_id 4 for calling the ServingCommand obj's underlying member method code with example usage: obj.start_bert_serving(args) and returns: False, False