summaryrefslogtreecommitdiff
path: root/scripts/_system_exec.lua
blob: 281f5dee0b175e432eae44b0fe59d796961556d3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
ardour { ["type"] = "EditorAction", name = "System Exec" }

function factory () return function ()
	-- ** EXAMPLES TO RUN EXTERNAL APPLICATIONS ** --

	-- run a command in a shell and wait for it to complete.
	--
	-- Details: basically just system(3), except on Unix like systems with
	-- memory-locking, this call is special-cased to use vfork and close
	-- file-descriptors. On other systems it defaults to Lua's os-library
	-- built-in os.execute system() call.
	os.execute ("date > /tmp/testdate")

	-- os.forkexec() works as fire-and-forget. execv(3) style
	--
	-- Details: It calls vfork() and exec() under the hood, passing each
	-- argument separately to exec (and needs a full-path to the binary).
	os.forkexec ("/usr/bin/xterm")
	os.forkexec ("/bin/sh", "-c", "import --frame \"/tmp/scr_$(date).png\"")
end end