Components | All | New | MacOS | Windows | Linux | iOS | ||||
Examples | Mac & Win | Server | Client | Guides | Statistic | FMM | Blog | Deprecated | Old |
RunTask.Launch
Launches the task represented by the receiver.
Component | Version | macOS | Windows | Linux | Server | iOS SDK |
RunTask | 3.1 | ✅ Yes | ✅ Yes | ❌ No | ✅ Yes, on macOS and Windows | ❌ No |
Deprecated
This function was deprecated. Use Shell functions instead.
Parameters
none
Result
Returns OK or error.
Description
Launches the task represented by the receiver.If you get back an error with posix_spawn and error 13, that's a permission denied.
Please use Shell.Execute if you need more features.
For PowerShell scripts on Windows, you may need to check with the execution policy for the user account FileMaker is using or use an admin account. e.g. on FileMaker Server, may need to be installed as Admin user (not fmserver user).
Examples
Run ls on Mac:
# new task
Set Variable [$r; Value:MBS( "RunTask.NewTask" )]
#set launch path and arguments
Set Variable [$r; Value:MBS( "RunTask.SetLaunchPath"; "/bin/ls" )]
Set Variable [$r; Value:MBS( "RunTask.SetArguments"; "/bin" )]
# run
Set Variable [$r; Value:MBS( "RunTask.Launch")]
# wait
Loop
Pause/Resume Script [Duration (seconds): ,1]
Exit Loop If [MBS( "RunTask.IsRunning" ) ≠ 1]
End Loop
# read result
Set Variable [$data; Value:MBS( "RunTask.ReadOutputText"; "UTF-8" )]
Show Custom Dialog ["Result"; $data]
List connected clients on FileMaker Server:
# © 30.07.2016 Patrick Weh | Team Nifty GmbH (17:40 Uhr)
# List connected Clients
# ------------------------------------------------------------------------------------------------------------
# Script checks for connected clients at the FileMaker Server.
# Copy this File to your Server and run this Script on your FileMaker Server.
# ------------------------------------------------------------------------------------------------------------
#
Set Error Capture [On]
Allow User Abort [Off]
#
Set Variable [$r; Value:MBS( "RunTask.NewTask" )]
Set Variable [$r; Value:MBS( "RunTask.SetLaunchPath"; "/Library/FileMaker Server/Database Server/bin/fmsadmin" )]
# please put your admin password here
Set Variable [$r; Value:MBS( "RunTask.SetArguments"; "-u" ; "fmserveradmin" ; "-p" ; "fmserveradminpassword" ; "list" ; "clients" ; "-s" )]
Set Variable [$r; Value:MBS( "RunTask.Launch")]
# now wait for task to finish:
Set Variable [$result; Value:""]
Loop
Pause/Resume Script [Duration (seconds): 2]
Set Variable [$result; Value:$result & MBS("RunTask.ReadOutputText")]
Exit Loop If [MBS("RunTask.IsRunning") ≠ 1]
End Loop
#
# write into a field:
Set Field [Check clients::Clients; $result]
Commit Records/Requests [No dialog]
#
Run shell script in bash:
Set Variable [$r; Value:MBS( "RunTask.NewTask" )]
Set Variable [$r; Value:MBS( "RunTask.SetLaunchPath"; "/bin/bash" )]
Set Variable [$r; Value:MBS( "RunTask.SetArguments"; "/Users/cs/Desktop/test.sh"; "First Param" )]
Set Variable [$r; Value:MBS( "RunTask.Launch")]
Run something with shell to do redirect:
Set Variable [ $r ; Value: MBS( "RunTask.NewTask" ) ]
Set Variable [ $r ; Value: MBS( "RunTask.SetLaunchPath"; "/bin/bash" ) ]
Set Variable [ $r ; Value: MBS( "RunTask.SetArguments"; "-c"; "date >/tmp/date.txt" ) ]
Set Variable [ $r ; Value: MBS( "RunTask.Launch") ]
Loop
Pause/Resume Script [ Duration (seconds): ,1 ]
Exit Loop If [ MBS( "RunTask.IsRunning" ) ≠ 1 ]
End Loop
Set Field [ RunTask::Text ; MBS( "Text.ReadTextFile"; "/tmp/date.txt"; "UTF-8" ) ]
Show quicklook preview window for PDF file:
Set Variable [ $r ; Value: MBS( "RunTask.NewTask" ) ]
Set Variable [ $r ; Value: MBS( "RunTask.SetLaunchPath"; "/usr/bin/qlmanage" ) ]
Set Variable [ $r ; Value: MBS( "RunTask.SetArguments"; "-p"; "/Users/cs/Desktop/Hello World.pdf" ) ]
Set Variable [ $r ; Value: MBS( "RunTask.Launch") ]
Run command with PowerShell:
Set Variable [ $r ; Value: MBS("RunTask.NewTask") ]
Set Variable [ $r ; Value: MBS("RunTask.SetLaunchPath"; "powershell.exe") ]
Set Variable [ $r ; Value: MBS("RunTask.SetArguments"; "-NoExit -command \"Get-ExecutionPolicy -List\"") ]
Set Field [ RunTask Windows::Result ; MBS("RunTask.Launch") ]
#
# You need first to run via powershell as admin those commands to enable execution of powershell from FileMaker:
# Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope LocalMachine
# Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser
See also
- RunTask.IsRunning
- RunTask.NewTask
- RunTask.ReadErrorText
- RunTask.SetArguments
- RunTask.SetLaunchPath
- RunTask.SetVerb
- RunTask.Wait
- Shell.Execute
- Text.ReadTextFile
- URLScheme.SetDefaultHandler
Example Databases
- Shell/RunTask/Run Shell Script on Mac
- Shell/RunTask/RunTask Windows
- Shell/RunTask/RunTask with read and write on Mac
- Shell/RunTask/RunTask
Blog Entries
This function checks for a license.
Created 18th August 2014, last changed 3th May 2021