Example with double qoutes for running an Firefox with a not-default-profile. Firefox documents says that
-P "ProfileName" is a proper argument ... I spent few hours to grasp why double quotes were stripped off, it has to do with foreign c-language CreateProcess() API
This does not work:
process_create( 'c:/Program Files/Mozilla Firefox/firefox.exe',['-P \"YourProfileNameHere\"'],[process(FFid)])
Also I found out that there is no need to process_kill/1 the Firefox, because Firefox automatically is killed when Swi-Prolog application exits. Example code just exits, because Firefox is built that way, and Firefox spawns many processes, that are automatically killed when exiting, so there is no process with FFId.
process_create( 'c:/Program Files/Mozilla Firefox/firefox.exe', ['-P','ProfileName'],[process(FFid)]), process_wait(FFid,_).