subprocess

[sʌbp'roʊses][sʌbp'rəʊses]

子进程

  • We find that understanding new methodologies can help us learn new techniques for dealing with specific issues adapt a subprocess or get ideas for a new tool .

    u6211u4eecu53d1u73b0uff0cu4e86u89e3u65b0u7684u65b9u6cd5u53efu4ee5u5e2eu52a9u6211u4eecu5b66u4e60u65b0u7684u5904u7406u7279u5b9au95eeu9898u7684u6280u672fu3001u8c03u6574 u5b50 u6d41u7a0buff0cu6216u8005u4eceu65b0u5de5u5177u4e2du83b7u5f97u4e00u4e9bu542fu53d1u3002

  • In other words each of the high level tasks is mapped to something like a subprocess .

    u6362u53e5u8bddu8bf4uff0cu6bcfu4e2au9ad8u7ea7u4efbu52a1u6620u5c04u5230u7c7bu4f3cu4e8e u5b50 u8fdbu7a0bu7684u4e8bu7269u4e0au3002

  • To use Wilby 's process Destiny must first refine her new activity to make it a global subprocess which requires her to use the detailed palette instead of the simple ( default ) palette .

    u8981u4f7fu7528Wilbyu7684u6d41u7a0buff0cDestinyu5fc5u987bu9996u5148u5b8cu5584u5979u7684u65b0u6d3bu52a8uff0cu4f7fu5176u6210u4e3au4e00u4e2au5168u5c40 u5b50 u6d41u7a0buff0cu8fd9u8981u6c42u5979u4f7fu7528u8be6u7ec6u8c03u8272u677fuff0cu800cu4e0du662fu7b80u5355uff08u9ed8u8ba4uff09u8c03u8272u677fu3002

  • That might be a Web service a System Component Architecture ( SCA ) service or as special case of the latter a subprocess that is exposed as an SCA service .

    u8fd9u53efu4ee5u662fWebu670du52a1u3001u7cfbu7edfu7ec4u4ef6u4f53u7cfbu7ed3u6784uff08System ComponentArchitectureuff0cSCAuff09u670du52a1u6216u540eu8005u7684u7279u4f8b&u4f5cu4e3aSCAu670du52a1u516cu5f00u7684 u8d85 u7c7bu3002

  • To illustrate the ability to have repeatable events Figure 13 shows a situation in which work was completed on the original update and there has since been a further update made and that event has also been received by the event subprocess .

    u4e3au4e86u6f14u793au62e5u6709u53efu91cdu590du4e8bu4ef6u7684u80fdu529buff0cu56fe13u663eu793au4e86u4e00u79cdu60c5u5f62uff0cu5176u4e2du7684u5de5u4f5cu5df2u5728u539fu59cbu66f4u65b0u65f6u5b8cu6210uff0cu4f46u81eau90a3u4ee5u540eu6267u884cu4e86u53e6u4e00u9879u66f4u65b0uff0cu5e76u4e14u8be5u4e8bu4ef6u5df2u7531u4e8bu4ef6 u5b50 u6d41u7a0bu63a5u6536u3002

  • Note that this variable is also stored in the subprocess_info structure as the complete field .

    u8bf7u6ce8u610fu6b64u53d8u91cfu4f1au5b58u50a8u5230 subprocess infou7ed3u6784u4f5cu4e3acompleteu5b57u6bb5u3002

  • With Python the subprocess module handles making the system call to the shell command and puts it into a list called in array in Bash or PHP .

    u5bf9u4e8ePythonuff0c u5b50 u8fc7u7a0bu6a21u5757u5904u7406u5bf9Shellu547du4ee4u7684u7cfbu7edfu8c03u7528uff0cu5e76u5c06 u8f93u51fa u53d1u5728u4e00u4e2au5217u8868uff08u5728Bashu548cPHPu4e2du79f0u4e3au6570u7ec4uff09u4e2du3002

  • The message event has a solid line around it consistent with the view in the collapsed event subprocess you saw in Figure 30 .

    u8be5u6d88u606fu4e8bu4ef6u5468u56f4u6709u4e00u6761u5b9eu7ebfuff0cu8fd9u4e0eu56fe30u4e2du770bu5230u7684u6298u53e0u7684u4e8bu4ef6 u5b50 u6d41u7a0bu4e2du7684u89c6u56feu4e00u81f4u3002

  • This exception is caught within the subprocess by the error start event handling the bad credit card exception .

    u901au8fc7u9519u8befu5f00u59cbu4e8bu4ef6u5904u7406u5931u8d25u7684u4fe1u7528u5361u5f02u5e38uff0cu5728 u5b50 u6d41u7a0bu6355u83b7u5f02u5e38u3002

  • A subprocess can be embedded in the parent process or be a standalone process model that can be invoked by the parent process via a call activity .

    u5b50 u6d41u7a0bu53efu4ee5u5d4cu5165u5230u7236u6d41u7a0bu4e2duff0cu6216u8005u662fu72ecu7acbu7684u6d41u7a0bu6a21u578bu3002u72ecu7acbu7684u6d41u7a0bu6a21u578bu80fdu591fu901au8fc7u8c03u7528u6d3bu52a8uff08callactivityuff09u7531u7236u6d41u7a0bu8c03u7528u3002

  • In many cases Python has removed much of the difficulty in using these various methods of concurrency by creating high-level modules such as asynchronous threading and subprocess .

    u5728u8bb8u591au60c5u51b5u4e0buff0cu901au8fc7u521bu5efau8bf8u5982u5f02u6b65u3001u7ebfu7a0bu548c u5b50 u8fdbu7a0b u4e4bu7c7bu7684u9ad8u5c42u6a21u5757uff0cPythonu7b80u5316u4e86u5404u79cdu5e76u53d1u65b9u6cd5u7684u4f7fu7528u3002

  • Besides using the monkeyrunner API itself you can use the standard Python os and subprocess modules to call Android tools such as Android Debug Bridge .

    u9664u4e86u4f7fu7528 monkeyrunnerAPIu4e4bu5916uff0cu60a8u8fd8u53efu4ee5u4f7fu7528u6807u51c6u7684Pythonosu548cu6a21u5757u6765u8c03u7528u5982AndroidDebugBridgeu8fd9u6837u7684Androidu5de5u5177u3002

  • This time no unexpected events have been received by this new instance and the token is shown on the event subprocess awaiting any valid event messages that we wish to generate for this order instance .

    u8fd9u6b21u8fd9u4e2au65b0u5b9eu4f8bu672au6536u5230u610fu5916u7684u4e8bu4ef6uff0cu5e76u4e14u8be5u6807u5fd7u663eu793au5728u7b49u5f85u6211u4eecu5e0cu671bu4e3au6b64u8ba2u5355u5b9eu4f8bu751fu6210u7684u4efbu4f55u6709u6548u7684u4e8bu4ef6u6d88u606fu7684u4e8bu4ef6 u5b50 u6d41u7a0bu3002

  • Instead you can begin the initial iteration with just a subprocess within the larger scope .

    u76f8u53cduff0cu53efu4ee5u4eceu4e00u4e2au66f4u5927u8303u56f4u5185u7684u4e00 u4e2au5b50 u6d41u7a0bu5f00u59cbu8fdbu884cu521du59cbu8fedu4ee3u3002

  • Each process or subprocess should only ever have one process controller .

    u6bcfu4e2au6d41u7a0bu6216 u5b50 u6d41u7a0bu5e94u8be5u53eau6709u4e00u4e2au6d41u7a0bu63a7u5236u8005u3002

  • First note that a subprocess always starts with a start event .

    u9996u5148u6ce8u610f u5b50 u6d41u7a0bu603bu662fu4eceu5f00u59cbu4e8bu4ef6u5f00u59cbu3002

  • The output of each issue-resolution subprocess is a flag indicating what has been done to the transaction .

    u6bcfu4e2au95eeu9898u89e3u51b3 u5b50 u6d41u7a0bu7684u8f93u51fau90fdu662fu4e00u4e2au6807u5fd7uff0cu6307u793au5bf9u4e8bu52a1u8fdbu884cu4e86u4ec0u4e48u5904u7406u3002

  • You likely identified another subprocess .

    u60a8u53efu80fdu5df2u6807u8bc6u4e86u53e6u4e00 u4e2au5b50 u6d41u7a0bu3002

  • Once the process instance is complete the contained event subprocess stops listening for events .

    u6d41u7a0bu5b9eu4f8bu5b8cu6210u540euff0cu5305u542bu7684u4e8bu4ef6 u5b50 u6d41u7a0bu5c31u4f1au505cu6b62u76d1u542cu4e8bu4ef6u3002

  • Double-clicking on the event subprocess expands it to show the detailed activities inside it as shown in Figure 3 .

    u53ccu51fbu4e8bu4ef6 u5b50 u6d41u7a0bu5c55u5f00u5b83uff0cu4ee5u663eu793au5176u4e2du7684u8be6u7ec6u6d3bu52a8uff0cu5982u56fe3u4e2du6240u793au3002

  • Figure 30 shows the revised Fulfill order process with an additional event subprocess Handle order cancellation added .

    u56fe30u663eu793au4e86u4feeu8ba2u540eu7684FulfillOrderu6d41u7a0buff0c u5b83u6dfbu52a0u4e86u4e00u4e2au989du5916u7684u4e8bu4ef6 u5b50 u6d41u7a0b Handle ordercancellationu3002

  • Similar to a boundary event on an activity an event subprocess listens for its trigger signal only when the containing process is active .

    u4e8bu4ef6 u5b50 u6d41u7a0bu7c7bu4f3cu4e8eu67d0u4e2au6d3bu52a8u4e0au7684u8fb9u754cu4e8bu4ef6uff0cu4ec5u5728u5305u542bu6d41u7a0bu5904u4e8eu6d3bu52a8u72b6u6001u65f6u76d1u542cu5b83u7684u89e6u53d1u4fe1u53f7u3002

  • Figure 31 shows the expanded event subprocess with the Interrupt Parent Process ? setting checked .

    u56fe31u663eu793au4e86u6269u5c55u7684u4e8bu4ef6 u5b50 u6d41u7a0buff0c u5176u4e2du52fe u9009u4e86InterruptParentProcessuff1fu8bbeu7f6eu3002

  • An error boundary event can be used to indicate a fault on a task or a subprocess .

    u9519u8befu8fb9u754cu4e8bu4ef6u7528u6765u6307u793au4efbu52a1u6216 u5b50 u6d41u7a0bu7684u6545u969cu3002

  • Notice that there is no longer a token against the Handle order updates event subprocess .

    u8bf7u6ce8u610fuff0cu4e0du518du6709u9488u5bf9Handleorderupdatesu4e8bu4ef6 u5b50 u6d41u7a0bu7684u6807u5fd7u3002

  • Even though we have not performed an update on this order we find that two instances of the update event subprocess have been activated .

    u5c3du7ba1u6211u4eecu672au5bf9u6b64u8ba2u5355u6267u884cu66f4u65b0uff0cu4f46u6211u4eecu4ecdu7136u53d1u73b0u66f4u65b0u4e8bu4ef6 u5b50 u6d41u7a0bu7684u4e24u4e2au5b9eu4f8bu5df2u5904u4e8eu6fc0u6d3bu72b6u6001u3002

  • This section introduces the example process for the scenario and shows how a message-based event subprocess is used to allow concurrent updates to be made to an existing process instance .

    u672cu8282u5c06u4ecbu7ecdu8be5u573au666fu7684u793au4f8bu6d41u7a0buff0cu5c55u793au5982u4f55u4f7fu7528u4e00u4e2au57fau4e8eu6d88u606fu7684u4e8bu4ef6 u5b50 u6d41u7a0bu6765u5141u8bb8u5bf9u73b0u6709u6d41u7a0bu5b9eu4f8bu8fdbu884cu5e76u53d1u66f4u65b0u3002