...... // A flag to indicate whether Main() has been called before. On Android, we // may re-run Main() without restarting the browser process. This flag // prevents initializing things more than once. staticbool is_initialized = false; #if !defined(OS_ANDROID) DCHECK(!is_initialized); #endif if (!is_initialized) { is_initialized = true;
classCOMPONENT_EXPORT(SERVICE_MANAGER_EMBEDDER) MainDelegate { public: // Perform early process initialization. Returns -1 if successful, or the exit // code with which the process should be terminated due to initialization // failure. virtualintInitialize(const InitializeParams& params)= 0;
......
// Runs the embedder's own main process logic. Called exactly once after a // successful call to Initialize(), and only if the Service Manager core does // not know what to do otherwise -- i.e., if it is not starting a new Service // Manager instance or launching an embedded service. // // Returns the exit code to use when terminating the process after // RunEmbedderProcess() (and then ShutDown()) completes. virtualintRunEmbedderProcess();
......
// Called just before process exit if RunEmbedderProcess() was called. virtualvoidShutDownEmbedderProcess();
intRunBrowserProcessMain(const MainFunctionParams& main_function_params, ContentMainDelegate* delegate){ int exit_code = delegate->RunProcess("", main_function_params); #if defined(OS_ANDROID) // In Android's browser process, the negative exit code doesn't mean the // default behavior should be used as the UI message loop is managed by // the Java and the browser process's default behavior is always // overridden. return exit_code; #else if (exit_code >= 0) return exit_code; returnBrowserMain(main_function_params); #endif }
for (size_t i = 0; i < base::size(kMainFunctions); ++i) { if (process_type == kMainFunctions[i].name) { int exit_code = delegate->RunProcess(process_type, main_function_params); if (exit_code >= 0) return exit_code; return kMainFunctions[i].function(main_function_params); } }
......
// If it's a process we don't know about, the embedder should know. return delegate->RunProcess(process_type, main_function_params); }
#if !defined(CHROME_MULTIPLE_DLL_CHILD) // The BrowserTaskExecutor needs to be destroyed before |exit_manager_|. BrowserTaskExecutor::Shutdown(); #endif// !defined(CHROME_MULTIPLE_DLL_CHILD)
$ su oracle $ cd /opt/oracle/database/ $ ./runInstaller -silent -responseFile /opt/oracle/database/response/db_install.rsp -ignorePrereq
在日志里看到这个就成功了:
1 2 3 4 5 6 7
/opt/oracle/inventory/orainstRoot.sh /opt/oracle/product/112010/db_1/root.sh To execute the configuration scripts: 1. Open a terminal window 2. Log in as "root" 3. Run the scripts 4. Return to this window and hit "Enter" key to continue
--- Volume group --- VG Name ubuntu-vg System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 2 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 1 Act PV 1 VG Size <498.00 GiB PE Size 4.00 MiB Total PE 127487 Alloc PE / Size 25600 / 100.00 GiB Free PE / Size 101887 / <398.00 GiB VG UUID NxG1O4-6H7r-M76X-5tM9-wBZp-wEHs-nSTwGD
--- Logical volume --- LV Path /dev/ubuntu-vg/ubuntu-lv LV Name ubuntu-lv VG Name ubuntu-vg LV UUID a0sk4C-TtAv-QqBN-0bZN-QEAx-zhpw-nyTyeG LV Write Access read/write LV Creation host, time ubuntu-server, 2022-11-12 23:33:17 +0800 LV Status available # open 1 LV Size 100.00 GiB Current LE 25600 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0
CDH装完后想通过sqoop2来把数据导入hive,结果发现导数据的过程中,虽然生成了10个map,但其中9个map都是空的,导致最后生成了9个0大小的文件和一个巨大的文件,没找到原因,只在官网找到这么一句话 Note that 1.99.7 is not compatible with 1.4.6 and not feature complete, it is not intended for production deployment.